GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ein Dateimanager ein Laufwerk ohne Root mounten?

Benutzer, die an der Konsole einer grafischen Workstation arbeiten, haben festgestellt, dass mehrere Programme ausgeführt werden können, ohne dass anscheinend eine Root-Authentifizierung oder ein Passwort wie Neustart erforderlich sind. Dieser Prozess beinhaltet den geschickten Einsatz des SUID-Programms /usr/sbin/userhelper in einem breiteren Kontext angewendet als ursprünglich vorgesehen.

Der grafische Benutzer führt ein zwischengeschaltetes Alias-Programm /usr/bin/consolehelper aus das Aktionen basierend auf einer bestimmten PAM-Konfiguration (Programmable Authentication Modules) autorisiert und dann den Befehl an ein SUID-Programm sendet, um das Benutzerprogramm mit Privilegien auszuführen. Wenn der Benutzer keine entsprechende Berechtigung hat, wird das angeforderte Programm unter der Linux-Umgebung des Benutzers ausgeführt.

Wie derzeit bereitgestellt, enthält die erforderliche PAM-Konfigurationsdatei für den Neustart Überprüfungen, ob der Benutzer an der Konsole angemeldet ist oder derzeit in der Root-Umgebung ausgeführt wird, um Kennwortanforderungen zu verhindern.


Es verwendet udisks. (FUSE wird jedoch im Fall von Netzwerkdateisystemen verwendet). Befehlszeilenschnittstellen zu udisks stehen für Ihre Experimente zur Verfügung. In neueren Versionen wird es mit der Befehlszeilenschnittstelle udisksctl geliefert .

udisksd läuft als root und akzeptiert die Benutzeranfragen über D-Bus.

udisksd verwendet PolicyKit PolKit entscheidet, welche Anfragen zulässig sind. Einige erfordern möglicherweise zusätzliche Berechtigungen, z. Interne Laufwerke formatieren. Dies kann einen zusätzlichen Authentifizierungsschritt beinhalten – ähnlich der Windows UAC-Eingabeaufforderung oder sudo auf der Befehlszeile. Ich weiß nicht genau, wie die zusätzliche Authentifizierung koordiniert wird.

Anfragen über D-Bus werden derzeit unter Verwendung von Unix-Sockets unter Verwendung von SCM_CREDENTIALS gemacht, was den Prozess identifiziert, der die Anfrage stellt.

Einer der Entscheidungsfaktoren ist, ob der Benutzer lokal oder über das Netzwerk angemeldet ist (z. B. ssh ). Ich glaube, diese Informationen werden von systemd-logind bereitgestellt (in Verschwörung mit pam-systemd ).


Linux
  1. So verstecken Sie Dateien und Ordner im Dateimanager ohne Umbenennung

  2. Wie führe ich ein bestimmtes Programm als Root ohne Passwortabfrage aus?

  3. Wie kann ich eine Bilddatei ohne Root mounten?

  4. So mounten Sie eine ISO-Datei unter Linux

  5. Wie kann ich mit dem Fenstermanager ein Programm als root starten?

Wie stellt der Dateimanager ein externes Laufwerk ohne Sudo bereit?

So mounten Sie Google Drive lokal als virtuelles Dateisystem in Linux

So öffnen Sie den Ubuntu-Dateimanager als Root-Benutzer

Wie kann ein Benutzer einen verschlüsselten Dateicontainer in Veracrypt mounten?

So beschränken Sie den Root-Benutzer in CentOS

So mounten und zeigen Sie die ISO-Datei als Root und normaler Benutzer in Linux an