Doas: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 88: | Zeile 88: | ||
{{AUR|opendoas-sudo}} bietet diesen Symlink ebenfalls an. | {{AUR|opendoas-sudo}} bietet diesen Symlink ebenfalls an. | ||
{{Hinweis|Standardmäßig behält ''sudo'' einige Umgebungsvariablen bei, während ''doas'' dies nicht tut, insbesondere XAUTHORITY, LANG und LC_ALL. Das bedeutet, dass Sie ohne weitere Konfiguration weder grafische Anwendungen unter X starten noch auf das Gebietsschema des Benutzers zugreifen können. Um beispielsweise Mitgliedern der Gruppe ''wheel'' zu erlauben, grafische Anwendungen zu starten und auf das Gebietsschema des Benutzers zuzugreifen, verwenden Sie die Option setenv: | {{Hinweis|Standardmäßig behält ''sudo'' einige Umgebungsvariablen bei, während ''doas'' dies nicht tut, insbesondere XAUTHORITY, LANG und LC_ALL. Das bedeutet, dass Sie ohne weitere Konfiguration weder grafische Anwendungen unter X weder starten noch auf das Gebietsschema des Benutzers zugreifen können. Um beispielsweise Mitgliedern der Gruppe ''wheel'' zu erlauben, grafische Anwendungen zu starten und auf das Gebietsschema des Benutzers zuzugreifen, verwenden Sie die Option setenv: | ||
{{hc|/etc/doas.conf| | {{hc|/etc/doas.conf| |
Version vom 25. Juli 2022, 19:19 Uhr
OpenDoas ist eine portable Version des OpenBSD-Befehls doas, der dafür bekannt ist, dass er im Vergleich zu sudo wesentlich kleiner ist. Wie sudo wird doas benutzt, um die Identität eines anderen Benutzers auf dem System anzunehmen.
Installation
Das Programm ist als
opendoas
in community
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Verwendung
Um doas als nicht-privilegierter Benutzer zu benutzen, muss es richtig konfiguriert werden. Siehe #Konfiguration.
Um doas zu verwenden, stellen Sie einem Befehl und seinen Argumenten einfach doas
und ein Leerzeichen voran:
$ doas cmd
Zum Beispiel, um pacman zu benutzen:
$ doas pacman -Syu
Um eine interaktive Shell mit Root-Prompt aufzurufen:
$ doas -s
Für weitere Informationen, siehe doas(1).
Konfiguration
Ein PAM-Modul wird installiert, aber keine Standardkonfiguration oder Beispiele sind enthalten.
Um Mitgliedern der Gruppe wheel zu erlauben, Befehle als andere Benutzer auszuführen, erstellen Sie eine Konfigurationsdatei mit dem folgenden Inhalt:
/etc/doas.conf
allow :wheel
Hinweis: Die Konfigurationsdatei muss mit einem Zeilenumbruch enden.
Der Eigentümer und die Gruppe für /etc/doas.conf
sollten beide 0
sein, die Dateirechte sollten auf 0400
gesetzt werden:
# chown -c root:root /etc/doas.conf # chmod -c 0400 /etc/doas.conf
Um /etc/doas.conf
auf Syntaxfehler zu überprüfen, führen Sie aus:
# doas -C /etc/doas.conf && echo "config ok" || echo "config error"
Achtung: Es ist zwingend erforderlich, dass /etc/doas.conf
frei von Syntaxfehlern ist!
Um Mitgliedern der Gruppe plugdev
zu erlauben, smartctl ohne Passwort als root-Benutzer auszuführen:
/etc/doas.conf
permit nopass :plugdev as root cmd /usr/bin/smartctl
Die allgemeine Syntaxform von /etc/doas.conf
lautet
permit|deny [options] identity [as target] [cmd command [args ...]]
Für weitere Details lesen Sie doas.conf(5).
Erwägen Sie, Tab-Vervollständigung für den doas-Befehl einzurichten.
Tipps und Tricks
doas persist Funktion
doas bietet eine Persist-Funktion: Nachdem sich der Benutzer erfolgreich authentifiziert hat, wird für einige Zeit nicht mehr nach einem Passwort gefragt. Sie ist standardmäßig deaktiviert, aktivieren Sie sie mit der Option persist
:
/etc/doas.conf
allow persist :wheel
Hinweis: Die persist-Funktion ist standardmäßig deaktiviert, da sie neu und potentiell gefährlich ist. Im ursprünglichen doas wird eine Kernel-API benutzt, um Timeouts zu setzen und zu löschen. Diese API ist OpenBSD-spezifisch und es gibt keine ähnliche API auf anderen Betriebssystemen. Als Workaround wird die persist-Funktion mit Hilfe von Zeitstempeldateien ähnlich wie bei sudo implementiert.
Reibungsloser Übergang von sudo zu doas
Für einen reibungslosen Übergang von sudo zu doas und um abwärtskompatibel zu bleiben, können Sie in Ihrer Umgebung folgendes hinzufügen
alias sudo='doas' alias sudoedit='doas rnano'
Oder alternativ können Sie einen Symlink von doas dorthin legen, wo normalerweise sudo liegen würde (bietet keine sudoedit(8)):
# ln -s $(welches doas) /usr/bin/sudo
opendoas-sudoAUR bietet diesen Symlink ebenfalls an.
Hinweis: Standardmäßig behält sudo einige Umgebungsvariablen bei, während doas dies nicht tut, insbesondere XAUTHORITY, LANG und LC_ALL. Das bedeutet, dass Sie ohne weitere Konfiguration weder grafische Anwendungen unter X weder starten noch auf das Gebietsschema des Benutzers zugreifen können. Um beispielsweise Mitgliedern der Gruppe wheel zu erlauben, grafische Anwendungen zu starten und auf das Gebietsschema des Benutzers zuzugreifen, verwenden Sie die Option setenv:
/etc/doas.conf
allow setenv { XAUTHORITY LANG LC_ALL } :wheel
Bash-Tab-Vervollständigung
Standardmäßig vervollständigt die Bash nur Dateien und Verzeichnisse innerhalb des aktuellen oder referenzierten Verzeichnisses mit Tabs. Um die Bash zu veranlassen, Argumente so zu vervollständigen, als ob sie separate Befehle wären (und dabei auch die Tab-Vervollständigungseinstellungen anderer Befehle zu nutzen), kann das Folgende entweder dem Benutzer .bashrc
oder der globalen /etc/bash.bashrc
hinzugefügt werden:
~/.bashrc
complete -cf doas
Dieser Artikel (oder Teile davon) steht unter GNU FDL (GNU Freie Dokumentationslizenz) und ist eine Übersetzung aus dem ArchLinux.org Wiki. Am Original-Artikel kann jeder Korrekturen und Ergänzungen vornehmen. Im ArchLinux.org Wiki ist eine Liste der Autoren verfügbar. |