Man page - setpriv(1)
Packages contains this manual
- getopt(1)
- x86_64(8)
- zramctl(8)
- findfs(8)
- blockdev(8)
- ipcmk(1)
- linux64(8)
- ldattach(8)
- findmnt(8)
- unshare(1)
- uclampset(1)
- partx(8)
- lscpu(1)
- flock(1)
- fallocate(1)
- setterm(1)
- terminal-colors.d(5)
- setsid(1)
- setarch(8)
- lsns(8)
- adjtime_config(5)
- chcpu(8)
- runuser(1)
- rtcwake(8)
- rev(1)
- lsipc(1)
- blkdiscard(8)
- nsenter(1)
- whereis(1)
- dmesg(1)
- fsck(8)
- blkid(8)
- ipcs(1)
- mcookie(1)
- lsblk(8)
- readprofile(8)
- switch_root(8)
- wdctl(8)
- mountpoint(1)
- lsmem(1)
- fsfreeze(8)
- i386(8)
- pivot_root(8)
- swaplabel(8)
- scols-filter(5)
- getty(8)
- chmem(8)
- chrt(1)
- agetty(8)
- blkzone(8)
- more(1)
- choom(1)
- mkswap(8)
- wipefs(8)
- taskset(1)
- lslocks(8)
- linux32(8)
- ionice(1)
- isosize(8)
- su(1)
- rename.ul(1)
- prlimit(1)
- namei(1)
- lslogins(1)
- ipcrm(1)
- fstrim(8)
- mkfs(8)
- hardlink(1)
- sulogin(8)
- setpriv(1)
apt-get install util-linux
Available languages:
en uk ro sr deManual
SETPRIV
BEZEICHNUNGĂBERSICHT
BESCHREIBUNG
OPTIONEN
ANMERKUNGEN
BEISPIELE
AUTOREN
SIEHE AUCH
FEHLER MELDEN
VERFĂGBARKEIT
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.
Im Vergleich zu su (1) und runuser (1) verwendet setpriv weder PAM, noch bittet es um die Eingabe eines Passworts. Es ist ein einfacher Wrapper fĂŒr execve (2), der keine Benutzerkennung setzt und zum Abgeben von Privilegien auf die gleiche Art wie setuidgid (8) aus daemontools , chpst (8) aus runit oder Ă€hnlichen Werkzeugen, die von anderen Diensteverwaltern ausgeliefert werden, verwendet werden kann.
OPTIONEN
--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) 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.
--ptracer pid | any | none
When Yamaâs restricted ptrace mode is in effect (that is, when /proc/sys/kernel/yama/ptrace_scope is set to 1), allow being traced via ptrace (2) by the process with the specified PID, or any process, or no process. See PR_SET_PTRACER (2const). (Note that this is not inherited by child processes, though it is preserved across execve (2).) This option has no effect when Yama is not enabled or is in a mode other than restricted ptrace.
--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.
--landlock-access Zugriff
Enable landlock restrictions for a specific set of system accesses. To allow specific subgroups of accesses use --landlock-rule .
Alle Dateisystemzugriffe blockieren:
setpriv --landlock-access Dateisystem
Löschen von Dateien und Anlegen von Verzeichnissen blockieren:
setpriv --landlock-access Dateisystem
Eine vollstĂ€ndige Liste aller unterstĂŒtzten Zugriffskategorien wird mit dem Befehl setpriv --help angezeigt.
--landlock-rule Regel
Allow one specific access from the categories blocked by --landlock-access .
Die Syntax ist wie folgt:
--landlock-rule $Regeltyp:$Zugriff:$Regelargument
Beispiel fĂŒr die GewĂ€hrung des Lesezugriffs auf alles unter /boot :
--landlock-rule path-beneath:read-file:/boot
--seccomp-filter file
Load raw BPF seccomp filter code from a file.
Filters can for example be created with enosys .
--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
Display version and exit.
ANMERKUNGEN
Falls irgendeine der angegeben Optionen fehlschlĂ€gt, wird das Programm nicht ausgefĂŒhrt und setpriv gibt den Exit-Status 127 zurĂŒck.
Seien Sie vorsichtig mit diesem Werkzeug â es könnte unerwartete Folgen fĂŒr die Sicherheit haben. Wenn Sie beispielsweise no_new_privs setzen und dann ein Programm ausfĂŒhren, das durch SELinux eingeschrĂ€nkt wird (wie es dieses Werkzeug machen wĂŒrde), könnte das die SELinux-EinschrĂ€nkungen wirkungslos machen.
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:
setpriv --reuid=1000 --regid=1000 --init-groups
Wenn Sie das Verhalten von setuid (8) aus Daemontools nachbilden wollen, versuchen Sie:
setpriv --reuid=1000 --regid=1000 --clear-groups
AUTOREN
Andy Lutomirski <luto@amacapital.net>
SIEHE AUCH
runuser (1), su (1), prctl (2), capabilities (7) landlock (7)
FEHLER MELDEN
For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.
VERFĂGBARKEIT
Der Befehl setpriv ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.