Da der Zugriff auf das zugrunde liegende Gerät standardmäßig nur über Dateiberechtigungen gesteuert wird, können Sie über diesen Geräteknoten auf das entsprechende Gerät zugreifen, wenn Ihr USB-Stick ein POSIX-Dateisystem mit einem weltweit beschreibbaren Geräteknoten enthält, der einem realen Gerät im System entspricht Gerät als "normaler" Benutzer. Stellen Sie sich ein Gerät vor, das einem der Audiogeräte, Ihrer Webcam, entspricht /dev/sda
(dies ist ein Blockgerät und kein Zeichengerät, aber das Argument ist dasselbe) ...
Hier ist ein Beispiel, um die Dinge klarer zu machen. Angenommen, Sie möchten darauf zugreifen /dev/sda
(dann können Sie mit dem Inhalt der Festplatte so ziemlich alles tun, was Sie wollen, einschließlich des Einpflanzens eines Programms, das es Ihnen ermöglichen würde , darauf zuzugreifen root
; dies ist ein Blockgerät, aber das Problem ist dasselbe mit Zeichengeräten). ls -l /dev/sda
Zeigt auf Ihrem Zielsystem
brw-rw---- 1 root disk 8, 0 Sep 8 11:25 sda
Dies bedeutet, dass /dev/sda
es sich um ein Blockgerät ( b
am Anfang der Zeile) mit der Hauptzahl 8 und der Nebenzahl 0 ( 8, 0
in der Mitte der Zeile) handelt. Das Gerät ist nur für root
(Lese- / Schreibzugriff) und Mitglieder der disk
Gruppe (auch Lese- / Schreibzugriff) zugänglich .
Stellen Sie sich nun vor, auf diesem System können Sie nicht werden, root
aber aus irgendeinem Grund können Sie USB-Sticks als Benutzer ohne einbinden nodev
. Auf einem anderen System, auf dem Sie sich gerade befinden root
, können Sie eine entsprechende Spezialdatei auf Ihrem USB-Stick erstellen:
mknod -m 666 usersda b 8 0
Dadurch wird eine spezielle Datei erstellt usersda
, die von allen gelesen und beschrieben werden kann.
Bringen Sie den Schlüssel auf Ihrem Zielsystem an und hey presto, Sie können das usersda
Gerät auf die gleiche Weise verwenden wie /dev/sda
, aber ohne Zugriffsbeschränkung ...
(Dies funktioniert auch mit verschlüsselten Dateisystemen, solange Sie auf das entschlüsselte Mapper-Gerät zugreifen können: Erstellen Sie ein Gerät, das dem entsprechenden /dev/mapper
Eintrag entspricht.)