Frage Falsche Berechtigungen von / dev / null (XUbuntu 15.10)


Nach dem Update heute und dem Neustart des Betriebssystems startet Lightdm nicht. Nach einigen Debugging habe ich festgestellt, dass / dev / null (und einige andere / dev-Dateien) keine ausreichenden Berechtigungen haben (im Vergleich zu einer anderen Ubuntu-Box, die ich habe) - z. 'andere' konnten weder lesen noch schreiben / dev / null.

Nach 'chmod a + rw / dev / null / dev / urandom / dev / random / dev / ptmx' startete lightdm. Natürlich ist das kein Neustart persistent, also muss ich dies in /etc/rc.* setzen, damit es bleibt - was ich nicht will!

Wer weiß, warum das anfing? IOW, es hat bis heute für mich funktioniert.

[Gelöst] Ich hatte benutzerdefinierte Buggy udev Regeln, die bestimmte / dev Einträge auf 0600 setzen würde!


2
2017-12-01 13:40


Ursprung


Du überspringst eine wichtige Frage: Warum musst du sie ändern? Bei jedem Neustart wird / dev / neu erstellt. Wenn / dev / null falsch erstellt wird, ist dies a ernst Fehler und sollte als solche gemeldet werden. Bitte mach es. Nacherzählen /dev/null sollte wie hier gezeigt gemacht werden askubuntu.com/a/435891/15811  aber das geschieht fast nur dann, wenn jemand selbst damit zu tun hat und nicht durch das System selbst. Das wäre sehr schlecht. - Rinzwind
Meine Gedanken genau, ich sollte mir keine Sorgen machen! Ich habe die / dev-Dateien in keiner Weise berührt. Das / dev / null ist bereits ein richtiger Geräteknoten, ich brauche es nicht neu zu erstellen, denke ich. Es sind nur Berechtigungen, die IMO falsch sind. Wo melde ich Fehler? - Hinko Kocevar


Antworten:


Wie Rinzwind richtig erwähnte, /dev/null ist erstellt bei jedem Start , aber speziell jedes Gerät einschließlich /dev/null wird von MAKEDEV Skript erstellt, das in mehreren referenziert wird /etc/init Skripte wie unten gezeigt:

xieerqi:$ sudo grep -iR "makedev" /etc 2 > /dev/null                                                                                  
[sudo] password for xieerqi: 

    xieerqi:$ sudo grep -iR "makedev" /etc 2> /dev/null                                                                                   
    [sudo] password for xieerqi: 
    /etc/init/mounted-dev.conf: /sbin/MAKEDEV std fd ppp tun
    /etc/init/mounted-dev.conf:     /sbin/MAKEDEV console
    /etc/init.d/udev:create_dev_makedev() {
    /etc/init.d/udev:  if [ -e /sbin/MAKEDEV ]; then
    /etc/init.d/udev:    ln -sf /sbin/MAKEDEV /dev/MAKEDEV
    /etc/init.d/udev:    ln -sf /bin/true /dev/MAKEDEV
    /etc/init.d/udev:    create_dev_makedev

Das /sbin/MAKEDEV und /sbin/makedev sind das gleiche Skript, das in den Header-Einstellungen für alle Geräte und ihre jeweiligen Berechtigungen haben. Insbesondere auf makedev erstellt mein System das Null-Gerät mit $public Berechtigungen:

makedev null c 1 3 $public

An der Spitze ist die Öffentlichkeit definiert als public=" root root 0666" 

Sie sollten in der Lage sein, dieses Skript zu öffnen und die Berechtigungen nach Bedarf zu ändern oder sicherzustellen, dass sie nicht geändert werden.

Wenn sie jedoch unverändert sind, wird dringend empfohlen, dieses Verhalten als Fehler zu melden und wahrscheinlich zu Ihrer eigenen Bequemlichkeit zu wechseln gdm vorerst.


1
2017-12-01 16:36



Beim Betrachten der / sbin / MAKEDEV habe ich genau die gleichen Zeilen für / dev / null. An wen soll ich den Fehler melden? - Hinko Kocevar
launchpad.net/ubuntu/+wanzen - Sergiy Kolodyazhnyy
Vielen Dank! /etc/init.d/udev, verknüpft mit /etc/rcS.d/S03udev, ist der Ort, an dem ein Aufruf von create_dev_makedev () den Link / dev / MAKEDEV -> / sbin / MAKEDEV erzeugen sollte. Es gibt keine / dev / MAKEDEV in meinem / dev-Ordner. Ich sehe auch die /var/log/boot.log Ich kann keine Zeilen von /etc/init.d/udev sehen .. Seltsam .. - Hinko Kocevar