Haben Sie sich jemals gefragt, warum sudo oder root Erlaubnis ist erforderlich ein externes Laufwerk oder eine externe Partition als normaler Benutzer vom Terminal aus mounten, aber nicht vom Dateimanager in Linux? Wie Sie bereits wissen, müssen Sie ein sudo-Benutzer sein, um Wechselmedien (z. B. externe Festplatten, USB-Sticks, optische Datenträger und Digitalkameras) über die Befehlszeile anzuzeigen, bereitzustellen und darauf zuzugreifen. Aber wie kann ein grafischer Dateimanager (z. B. Nautilus) diese Wechseldatenträger ohne root oder sudo mounten? In dieser kurzen Anleitung werde ich erklären, wie ein Dateimanager externe Laufwerke ohne sudo einbindet oder root Berechtigung unter Linux.
Wie kann ein Dateimanager ein externes Laufwerk ohne sudo- oder root-Berechtigung unter Linux mounten?
Der Dateimanager verwendet UDisks2 um die externen Laufwerke ohne Admin-Rechte zu mounten. UDisks2 ist die 2. Version von UDisks. UDisks ist jetzt veraltet. Jetzt verwenden GNOME, KDE und verschiedene andere Desktop-Umgebungen UDisks2, um normalen Benutzern das Mounten von Wechselmedien zu ermöglichen.
Das UDisks2-Projekt stellt einen System-Daemon namens udisksd bereit und ein Befehlszeilentool namens udisksctl .
Die udiskd Daemon läuft im Hintergrund und implementiert wohldefinierten D-Bus Schnittstellen, die zum Abfragen und Manipulieren von Speichergeräten verwendet werden können. udiskd startet automatisch beim Systemstart und läuft als root die ganze Zeit. Sie können es mit folgendem Befehl überprüfen:
$ sudo systemctl status udisks2
Beispielausgabe:
● udisks2.service - Disk Manager
Loaded: loaded (/lib/systemd/system/udisks2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-09-09 12:09:21 IST; 3h 9min ago
Docs: man:udisks(8)
Main PID: 978 (udisksd)
Tasks: 5 (limit: 9336)
Memory: 9.3M
CGroup: /system.slice/udisks2.service
└─978 /usr/lib/udisks2/udisksd
Sep 09 12:08:51 ostechnix systemd[1]: Starting Disk Manager...
Sep 09 12:09:00 ostechnix udisksd[978]: udisks daemon version 2.8.4 starting
Sep 09 12:09:21 ostechnix udisksd[978]: Acquired the name org.freedesktop.UDisks2 on the sy>
Sep 09 12:09:21 ostechnix systemd[1]: Started Disk Manager.
Die udisksctl Das CLI-Dienstprogramm wird verwendet, um den Daemon abzufragen und zu verwenden. Die Aktionen, die ein Benutzer mit udisks ausführen kann, werden durch Polkit eingeschränkt . Polkit ist ein Toolkit auf Anwendungsebene zum Definieren und Handhaben von Autorisierungen. Es erlaubt unprivilegierten Prozessen, mit privilegierten Prozessen zu sprechen.
Da UDisks bereits als Root ausgeführt wird, ermöglicht es den nicht privilegierten Programmen (z. B. Dateimanagern), Speichergeräte ohne sudo- oder Root-Berechtigung zu mounten oder zu unmounten. So mounten die Dateimanager ein externes Laufwerk ohne Administratorrechte.
Sie können es selbst testen, indem Sie als normaler Benutzer mit udisksctl ein USB-Laufwerk mounten Befehl wie unten:
$ udisksctl mount -b /dev/sdc1
Oder,
$ udisksctl mount --block-device /dev/sdc1
Ersetzen Sie /dev/sdc1 mit Ihrem Gerätenamen.
Beispielausgabe:
Mounted /dev/sdc1 at /media/sk/ventoy.
Ebenso können Sie das USB-Laufwerk mit dem folgenden Befehl aushängen:
$ udisksctl unmount -b /dev/sdc1
Oder,
$ udisksctl unmount --block-device /dev/sdc1
Beispielausgabe:
Unmounted /dev/sdc1.
Wenn Sie jemals nach einer Möglichkeit suchen, normalen Benutzern das Mounten der Dateisysteme ohne Superuser-Rechte in Linux zu ermöglichen, wird Udisk2 empfohlen!
Verwandte Lektüre:
- So finden Sie den gemounteten Dateisystemtyp in Linux
Ich wusste nicht, dass das Mounten und Unmounten von Laufwerken ohne sudo-Berechtigung möglich ist, bis ich auf Reddit auf diese Frage gestoßen bin.
Ich hoffe, Sie haben heute etwas Nützliches gelernt.
Vorgestelltes Bild von Jessica Lewis von Pexels .