Wiederholtes Beheben von „/dev/null: Zugriff verweigert“ in chroot

Wiederholtes Beheben von „/dev/null: Zugriff verweigert“ in chroot

Ich habe mit auf eine externe Festplatte chrootet sudo chroot /mnt/disk, aber fast alles, was ich mache (Anmelden, Tab-Vervollständigung, lessing einer Datei, ...), führt zu einem Fehler, der erwähnt /dev/null: Permission denied, selbst wenn der Befehl zu funktionieren scheint.

/dev/null verfügt über die richtigen Berechtigungen (666) und filegibt an, dass es sich um ein Zeichengerät handelt. Es ist also nicht so, dass es durch eine normale Datei überschrieben oder die Berechtigungen geändert worden wären.

Was kann ich tun, um das Problem zu beheben?

Das ist das Ergebnis der Tab-Vervollständigung ls /u:

$ ls /ubash: /dev/null: Permission denied
bash: _upvars: `-a2': invalid number specifier
bash: /dev/null: Permission denied
bash: _upvars: `-a0': invalid number specifier

Antwort1

nodevDie Festplatte kann mit der Option gemountet werden , die mountFolgendes interpretiert:

Interpretieren Sie keine Zeichen- oder Block-Sondergeräte im Dateisystem.

Sie können dies überprüfen, indem Sie die Ausgabe vonmount draußendie Chroot:

$ mount
...
/dev/sda1 on /mnt/disk type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)

(Das ist ein besonders schwieriges Problem, da die Konfiguration außerhalb des Chroots das Verhalten der darin enthaltenen Programme beeinflusst!)

Das Problem lässt sich ganz einfach beheben, indem man es ohne die nodevOption neu einbindet. Der folgende Befehl erledigt dies (sogar während der chroot-Prozess läuft!), obwohl es wahrscheinlich einen Weg gibt, derNurdie nodevOption, ohne auch alle anderen Optionen zu entfernen:

sudo mount -o remount /dev/sda1 /mnt/disk

verwandte Informationen