--clear-groups
löscht zusätzliche Gruppen.
-d, --dump
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.
--groups Gruppe...
setzt zusätzliche Gruppen. Das Argument ist eine durch Kommata getrennte Liste von Gruppenkennungen oder Namen.
--inh-caps (+|-)Cap..., --ambient-caps (+|-)Cap..., --bounding-set (+|-)Cap...
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 (detailliert 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.
Falls Sie eine Capability aus dem Umgebungssatz entfernen, ohne sie auch aus dem vererbbaren Satz zu entfernen, kommen Sie wahrscheinlich durcheinander. Tun Sie das besser nicht.
--keep-groups
behält zusätzliche Gruppen bei. Dies ist nur zusammen mit --rgid, --egid oder --regid nützlich.
--init-groups
initialisiert zusätzliche Gruppen mittels
initgroups(3). Dies ist nur zusammen mit
--ruid oder
--reuid nützlich.
--list-caps
listet alle bekannten Capabilities auf. Diese Option muss allein angegeben werden.
--no-new-privs
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)EN und
Documentation/prctl/no_new_privs.txt in den Linux-Kernelquellen.
Das Bit no_new_privs wird seit Linux 3.5 unterstützt.
--rgid GID, --egid GID, --regid GID
setzt die reale, effektive oder beide Gruppenkennungen. Das Argument
Gruppenkennung 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 Gruppenkennung setzen.
--ruid Benutzerkennung, --euid Benutzerkennung, --reuid Benutzerkennung
setzt die reale, effektive oder beide Benutzerkennungen. Das Argument
Benutzerkennung kann als Anmeldename in Textform angegeben werden.
Das Setzen einer Benutzerkennung oder Gruppenkennung ä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
--securebits (+|-)Sicherheitsbit...
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.
--pdeathsig keep|clear|<Signal>
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.
--selinux-label Label
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).
--apparmor-profile Profil
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.
--reset-env
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.
-h, --help
zeigt einen Hilfetext an und beendet das Programm.
-V, --version
zeigt Versionsinformationen an und beendet das Programm.