Nächste: X.509-Zertifikate, Vorige: Dienste, Nach oben: Systemkonfiguration [Inhalt][Index]
Manche Programme müssen mit Administratorrechten (also den Berechtigungen
des „root“-Benutzers) ausgeführt werden, selbst wenn Nutzer ohne besondere
Berechtigungen sie starten. Ein bekanntes Beispiel ist das Programm
passwd
, womit Nutzer ihr Passwort ändern können, wozu das Programm
auf die Dateien /etc/passwd und /etc/shadow zugreifen muss —
was normalerweise nur der „root“-Nutzer darf, aus offensichtlichen Gründen
der Informationssicherheit. Deswegen sind diese ausführbaren Programmdateien
setuid-root, d.h. sie laufen immer mit den Administratorrechten des
root-Nutzers, egal wer sie startet (siehe How Change Persona in Referenzhandbuch der GNU-C-Bibliothek für mehr Informationen über den
setuid-Mechanismus).
Der Store selbst kann keine setuid-Programme enthalten: Das wäre eine Sicherheitslücke, weil dann jeder Nutzer auf dem System Ableitungen schreiben könnte, die in den Store solche Dateien einfügen würden (siehe Der Store). Wir benutzen also einen anderen Mechanismus: Statt auf den ausführbaren Dateien im Store selbst deren setuid-Bit zu setzen, lassen wir den Systemadministrator deklarieren, welche Programme mit setuid-root gestartet werden.
Das Feld setuid-programs
einer operating-system
-Deklaration
enthält eine Liste von G-Ausdrücken, die die Namen der Programme angeben,
die setuid-root sein sollen (siehe Das Konfigurationssystem nutzen). Zum Beispiel kann das Programm passwd
, was Teil des
Shadow-Pakets ist, durch diesen G-Ausdruck bezeichnet werden (siehe
G-Ausdrücke):
#~(string-append #$shadow "/bin/passwd")
Eine vorgegebene Menge von setuid-Programmen wird durch die Variable
%setuid-programs
aus dem Modul (gnu system)
definiert.
Eine Liste von G-Ausdrücken, die übliche Programme angeben, die setuid-root sein müssen.
Die Liste enthält Befehle wie passwd
, ping
, su
und sudo
.
Intern erzeugt Guix die eigentlichen setuid-Programme im Verzeichnis /run/setuid-programs, wenn das System aktiviert wird. Die Dateien in diesem Verzeichnis verweisen auf die „echten“ Binärdateien im Store.
Nächste: X.509-Zertifikate, Vorige: Dienste, Nach oben: Systemkonfiguration [Inhalt][Index]