• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Meldung "/dev/null: keine Berechtigung" in 10.3

shorn

Member
Hallo,
ich erhalte auf der Konsole die Fehlermeldung
Code:
bash: /dev/null: Keine Berechtigung

Das System ist vor einer Woche aufgesetzt. Unter [1] habe ich gelesen, dass Anwender betroffen sind, die sich mit Modem ins Internet einwählen (genau das tue ich noch). Als Ursache wird angegeben, dass wvdial die Geräte-Datei /dev/null ändert, wenn eine Internet-Verbindung besteht. Lösung für 9.3: Update des Paketes wvdial.

Nun habe ich ja mit 10.3 die aktuelle Version des o.g. Pakets, daran kann es zumindest alleine nicht dran liegen.

In [2] wird als Lösung vorgeschlagen:
Code:
rm /dev/null
mknod /dev/null c 1 3

Ist das die richtige und dauerhafte Lösung?

Herzliche Grüße,
Stefan

Hier noch ein paar Infos zu meinem System:
  • Betriebssystem: Linux 2.6.22.5-31-default i686
    Aktueller Benutzer: stefan@famhorn-03
    System: openSUSE 10.3 (i586)
    KDE: 3.5.7 "release 72"

[1] http://de.opensuse.org/SDB:/dev/null_wird_immer_wieder_beschädigt
[2] http://www.linux-club.de/ftopic17235.html
 
OP
S

shorn

Member
Hallo,
das mag sein. In der Praxis führt das dazu, dass ich mich nach einem ersten Anmelden (und Abmelden) nicht ein zweites Mal Anmelden kann. Hierzu ist erst ein Neustart erforderlich. Daher wäre es gut, eine dauerhafte Lösung zu finden (z. B. ein Skript, was beim Abmelden aufgerufen wird und was mir /dev/null wiederherstellt, falls es daran liegen sollte).
Grüße, Stefan
 
OP
S

shorn

Member
Hallo,
ls -l liefert
Code:
crw-rw-rw- 1 root root 1, 3 21. Sep 23:50 /lib/udev/devices/null
Character Device lässt sich mit Kate öffnen, ist jedoch leer.
Grüße, Stefan
 
OP
S

shorn

Member
Noch ein Vorschlag, was ich sonst noch wegen der Fehlermeldung /dev/null machen könnte?
 
Keine Berechtigung kommt meist, wenn /dev/null nicht mehr ein Character Device mit Modus 0666 ist, sondern z.B. eine normale Datei. Wie kann sowas eine normale Datei werden? Z.B. in dem man "gcc -o /dev/null" als root ausführt, also eine Operation, die /dev/null entfernt, statt einfach reinzuschreiben (truncating). Da aber bei jedem Boot /dev neu gemacht wird...
/lib/udev/devices wird in die initrd kopiert, damit der Grundbaustein von /dev gelegt werden kann, /dev also beim Starten der initrd schon befüllt ist. Dieses /dev wird dann mit ins normale System mit übernommen (Verschieben von Mounts; keine Kopie). Daher kann es folgende Problembereiche geben:
- /lib/udev/devices/null kaputt (nicht der Fall)
- initrd:/dev/null kaputt (denke ich nicht)
- etwas während oder nach dem Boot macht null kaputt
In dem Sinne also: füg dir was in /etc/init.d/boot.local hinzu:
Code:
ls -l /dev/null
damit kannst du schonmal die Zeitdomäne eingrenzen, wann /dev/null verschrottet wird.
 
OP
S

shorn

Member
Hallo,

na eigentlich ist es nicht gelöst, aber es wird wohl auch nicht so einfach gehen. Mit dem Boot-Vorgang hat es nichts zu tun, sondern mit dem Modem:

Vor Einwahl ins Internet liefert mir
Code:
ls -l /dev/null
Code:
crw-rw-rw- 1 root root 1, 3 21. Sep 23:50 /dev/null

Nach Einwahl mit (externem) Modem erhalte ich:
Code:
-rw------- 1 root root 39 24. Jan 23:16 /dev/null
Zu den Auswirkungen siehe oben.

Der Umstieg auf DSL ist geplant, lange wird das Modem also nicht mehr benötigt. Und ich hoffe, dass dann die Fehlermeldung nicht mehr erscheint.

Herzlichen Dank für die Hilfe
Stefan
 
Aha, das grenzt das Problem schonmal schön ein! smpppd oder pppd werden es dann vermutlich sein. Wenn du die Einwahl von der Konsole hinkriegst, wäre auch ein Schritt, dann könnte man fehlerhafte Grafikfrontends ausschließen.
 
OP
S

shorn

Member
Wenn du die Einwahl von der Konsole hinkriegst, wäre auch ein Schritt,
Hallo,
mich hat es doch noch nicht in Ruhe gelassen, habe aber irgendwie noch nichts passendes zur Einwahl über die Konsole gefunden.
Bin ich mit einem Frontend wie cinternet auf dem richtigen Weg?
Grüße, Stefan
 

elkneo

Newbie
hi, ich hab mir einfach 'n script geschrieben und führe das während / nach dem surfen aus:

Code:
#!/bin/bash
su -c '
echo "*** ANFANG ! ***"
rm /dev/null
echo "/dev/null gelöscht !"
mknod /dev/null c 1 3
echo "/dev/null neu erstellt !"
ls -l /dev/null
chmod 666 /dev/null
echo "Rechte für /dev/null auf 666 gesetzt !"
ls -l /dev/null
echo "*** FERTIG ! ***"'

hab das bei mir im ~/bin als devnull-reset gepeichert und ne verknüpfung auf dem desktop erstellt. (rechte noch mittels chmod auf a+x setzen !)
bei der verknüpfung noch einstellen, dass es im terminal ausgeführt werden soll.
 
OP
S

shorn

Member
Hallo,

dein Skript funktioniert prima. Wenigstens lässt sich damit das o.g. Problem (erneute Anmeldung nicht möglich) umgehen.

Die Frage bleibt jedoch: Wird nur bei einer Modem-Verbindung dev/null so verändert (und warum überhaupt)? Hast du das gleiche Problem bei Modem/DSL?

Grüße, Stefan
 

elkneo

Newbie
moin. ich habe das problem nur bei ner einwahl verbindung (benutze ein handy als umts modem) über wlan / draht mit dsl gehts wunderbar.
liegt also definitiv an der einwahl...
 

elkneo

Newbie
so, hab jetzt aus dem script das
Code:
su -c ' [...] '
entfernt und im kinternet die bash datei als script beim beenden eingetrage (mit kdesu)

sieht also so aus:

Code:
kdesu -c "~/bin/devnull-reset-root.sh"
 
OP
S

shorn

Member
Super, ich habe mich zwar längere Zeit nicht gemeldet, aber das Einbinden des Skripts in Kinternet fehlte mir noch. Ich wusste nicht, dass das möglich.
Danke an alle für die Hilfe.
Stefan
 

elkneo

Newbie
hat so leider doch nicht perfekt geklapt neue lösung:

das bei kinternet rein:
Code:
~/bin/devnull-reset-kinternet.sh

und in die datei ~/bin/devnull-reset-kinternetsh:

Code:
kdesu -c ~/bin/devnull-reset-root.sh

und in die datei ~/bin/devnull-reset-root.sh :

Code:
#!/bin/bash
echo "*** ANFANG ! ***"
rm /dev/null
echo "/dev/null gelöscht !"
mknod /dev/null c 1 3
echo "/dev/null neu erstellt !"
ls -l /dev/null
chmod 666 /dev/null
echo "Rechte für /dev/null auf 666 gesetzt !"
ls -l /dev/null
echo "*** FERTIG ! ***"

damit gehts dann aber auch ^^
 
OP
S

shorn

Member
Hallo,
was meinst du mit

das bei kinternet rein:
Code:
~/bin/devnull-reset-kinternet.sh

Ich habe keine Möglichkeit gefunden, bei Kinternet irgendein Skript beim Schließen des Programms ausführen zu können.

Vielleicht noch ein Tipp, wo ich das genau eintragen muss.
Stefan
 
OP
S

shorn

Member
Nachtrag:
Suse bietet seit kurzem ein Update des Pakets wvdial an. Die Version 1.56-22.2 zeigt den oben beschriebenen Fehler (bei /dev/null) nicht mehr. Das aktualisierte Paket ist auch auf dem Easy Linux Service Kit 02/2008.
 
Oben