BEZEICHNUNG
setpriv - ein Programm mit anderen Linux-Berechtigungseinstellungen ausführenÜBERSICHT
setpriv [Optionen] Programm [Argumente]BESCHREIBUNG
Legt die verschiedenen über execve(2) vererbten Linux-Berechtigungseinstellungen fest oder fragt diese ab.OPTIONEN
--clear-groupslöscht zusätzliche
Gruppen.
gibt den aktuellen Status der Berechtigungen
aus. Diese Option kann mehrfach angegeben werden, um zusätzliche, aber
weitestgehend nutzlose Informationen anzuzeigen. Dies ist zu allen anderen
Optionen inkompatibel.
setzt zusätzliche Gruppen. Das Argument
ist eine durch Kommata getrennte Liste von GIDs oder Namen.
setzt die vererbbaren Capabilities,
Umgebungs-Capabilities oder die Capabilities-Begrenzungsmenge. Siehe
capabilities(7). Das Argument ist eine durch Kommata getrennte Liste
von +cap- beziehungsweise -cap-Einträgen,
die jeweils einen entsprechenden Eintrag hinzufügen oder entfernen.
Cap kann entweder ein menschenlesbarer Name wie in
capabilities(7) sein (ohne das Präfix cap_) oder als
cap_N formatiert sein, wobei N der von Linux intern verwendete
Capability-Index ist. +all und -all können Sie zum
Hinzufügen oder Entfernen aller Capabilities verwenden.
Die Gruppe der Capabilities ist anfänglich der als der aktuell vererbbare
Satz für --inh-caps, der aktuelle Umgebungs-Satz für
--ambient-caps und die aktuelle Begrenzungsmenge für
--bounding-set.
Beachten Sie die folgenden Einschränkungen (datailliert in
capabilities(7) beschrieben) hinsichtlich der Änderungen an
diesen Capability-Gruppen:
•Eine Capability kann nur zu einem
vererbbaren Satz hinzugefügt werden, wenn sie in der Begrenzungsmenge
vorhanden ist.
•Eine Capability kann nur zum
Umgebungssatz hinzugefügt werden, wenn sie sowohl in den erlaubten als
auch vererbbaren Sätzen vorhanden ist.
•Trotz der von setpriv
bereitgestellten Syntax erlaubt es der Kernel nicht, Capabilities zum
Umgebungssatz hinzuzufügen.
behält zusätzliche Gruppen bei.
Dies ist nur zusammen mit --rgid, --egid oder --regid
nützlich.
initialisiert zusätzliche Gruppen
mittels initgroups(3). Dies ist nur zusammen mit --ruid oder
--reuid nützlich.
listet alle bekannten Capabilities auf. Diese
Option muss allein angegeben werden.
setzt das no_new_privs-Bit. Wenn dieses
gesetzt ist, gewährt execve(2) keine neuen Privilegien. Zum
Beispiel werden sowohl die Bits »set-user-ID« und
»set-group-ID« als auch die Datei-Capabilities deaktiviert. Die
Ausführung von Programmen wird mit diesen gesetzten Bits noch
möglich sein, aber sie werden keine Privilegien erlangen können.
Bestimmte Linux Security Modules (LSMs), vor allem AppArmor, könnten
das Ausführen bestimmter Programme verhindern. Dieses Bit wird an
Kindprozesse vererbt und kann nicht zurückgesetzt werden. Siehe
prctl(2) und Documentation/prctl/no_new_privs.txt in den
Linux-Kernelquellen.
Das Bit no_new_privs wird seit Linux 3.5 unterstützt.
setzt die reale, effektive oder beide GIDs.
Das Argument GID kann als Gruppenname in Textform angegeben werden.
Aus Sicherheitsgründen müssen Sie eine der Optionen
--clear-groups, --groups, --keep-groups oder
--init-groups angeben, wenn Sie eine primäre GID
setzen.
setzt die reale, effektive oder beide
Benutzerkennungen. Das Argument UID kann als Anmeldename in Textform
angegeben werden.
Das Setzen einer UID oder GID ändert keine Capabilities,
obwohl der Exec-Aufruf doch Capabilities ändern könnte. Das
bedeutet, dass Sie mit Root-Rechten vielleicht Folgendes tun wollen:
setpriv --reuid=1000 --regid=1000 --inh-caps=-all
setzt Sicherheitsbits oder setzt sie
zurück. Das Argument ist eine durch Kommata getrennte Liste.
Zulässige Sicherheitsbits sind noroot, noroot_locked,
no_setuid_fixup, no_setuid_fixup_locked und
keep_caps_locked. keep_caps wird von execve(2)
zurückgesetzt und ist daher nicht erlaubt.
erhält oder setzt das
Eltern-Tötungssignal oder setzt es zurück. Einige LSMs, vor
allem SELinux und AppArmor, setzen das Signal zurück, wenn sich die
Anmeldedaten des Prozesses ändern. Mit --pdeathsig keep
können Sie, um die Situation zu verbessern, das
Eltern-Tötungssignal wiederherstellen, nachdem die Anmeldedaten des
Prozesses geändert wurden.
fordert eine bestimmte SELinux-Transition
(Übergang) an (mit einer Transition auf exec, nicht dyntrans). Dies
wird fehlschlagen und einen Abbruch von setpriv verursachen, falls
SELinux nicht verwendet wird, und die Transition könnte ignoriert
werden oder execve(2) wegen SELinux fehlschlagen lassen (insbesondere
wird dies wahrscheinlich mit no_new_privs nicht funktionieren). Dies
ist ähnlich zu runcon(1).
fordert ein bestimmtes AppArmor-Profil an (mit
einer Transition auf exec). Dies wird fehlschlagen und einen Abbruch von
setpriv verursachen, falls AppArmor nicht verwendet wird, und die
Transition könnte ignoriert werden oder execve(2) wegen AppArmor
fehlschlagen lassen.
setzt alle Umgebungsvariablen außer
TERM zurück; initialisiert die Umgebungsvariablen HOME,
SHELL, USER, LOGNAME entsprechend dem Passworteintrag des
Benutzers; setzt PATH für einen normalen Benutzer auf
/usr/local/bin:/bin:/usr/bin und für den Root-Benutzer auf
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.
Die Umgebungsvariable PATH kann auf Systemen anders sein, auf denen
/bin und /sbin in /usr zusammengeführt sind. Die
Umgebungsvariable SHELL ist standardmäßig /bin/sh,
sofern im Passworteintrag des Benutzers nichts angegeben ist.
zeigt einen Hilfetext an und beendet das
Programm.
zeigt die Versionsnummer an und beendet das
Programm.
ANMERKUNGEN
Falls irgendeine der angegeben Optionen fehlschlägt, wird das Programm nicht ausgeführt und setpriv gibt den Exit-Status 127 zurück.BEISPIELE
Wenn Sie ein Verhalten wünschen, das ähnlich zu su(1)/runuser(1) oder sudo(8) (ohne die Option -g) ist, versuchen Sie Folgendes:AUTOREN
Andy <[email protected]>LutomirskiSIEHE AUCH
runuser(1), su(1), prctl(2), capabilities(7)FEHLER MELDEN
Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.VERFÜGBARKEIT
Der Befehl setpriv ist Teil des Pakets util-linux, welches heruntergeladen werden kann von: Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer11. Mai 2022 | util-linux 2.38.1 |