SETPRIV(1) Anvandarkommandon SETPRIV(1) NAMN setpriv - kor ett program med olika installningar for Linux-privilegier SYNOPSIS setpriv [flaggor] program [argument] BESKRIVNING Staller in eller fragar efter olika Linux-privilegieinstallningar som arvs av execve(2). I jamforelse med su(1) och runuser(1) anvander setpriv varken PAM eller fragar efter losenord. Det ar en enkel, icke-set-user-ID-omslag runt execve(2), och kan anvandas for att slappa privilegier pa samma satt som setuidgid(8) fran daemontools, chpst(8) fran runit, eller liknande verktyg som levereras av andra tjanstehanterare. FLAGGOR --clear-groups Tydliga tillaggsgrupper. -d, --dump Dumpa det aktuella privilegietillstandet. Denna flagga kan anges mer an en gang for att visa extra, oftast vardelos, information. Inkompatibelt med alla andra flaggor. --groups grupp... Ange kompletterande grupper. Argumentet ar en kommaseparerad lista med GID eller namn. --inh-caps (+|-)cap..., --ambient-caps (+|-)cap..., --bounding-set (+|-)cap... Stall in de arftliga kapaciteterna, omgivande kapaciteter eller kapacitetens avgransande uppsattning. Se capabilities(7). Argumentet ar en kommaseparerad lista med +cap- och -cap-poster, som lagger till respektive tar bort en post. cap kan antingen vara ett manskligt lasbart namn som i capabilities(7) utan prefixet cap_ eller i formatet cap_N, dar N ar det interna kapacitetsindex som anvands av Linux. +all och -all kan anvandas for att lagga till eller ta bort alla versaler. Uppsattningen av funktioner borjar som den aktuella arftliga uppsattningen for --inh-caps, den aktuella omgivande uppsattningen for --ambient-caps och den aktuella avgransande uppsattningen for --bounding-set. Observera foljande restriktioner (som beskrivs i capabilities(7)) betraffande modifieringar av dessa kapacitetsuppsattningar: o En formaga kan endast laggas till i den arftliga uppsattningen om den for narvarande finns i den avgransande uppsattningen. o En formaga kan endast laggas till i den omgivande uppsattningen om den for narvarande finns i bade den tillatna och den arftliga uppsattningen. o Trots den syntax som erbjuds av setpriv tillater inte karnan att formagor laggs till i den avgransande uppsattningen. Om du tar bort en kapacitet fran den avgransande uppsattningen utan att samtidigt ta bort den fran den arftliga uppsattningen, kommer du sannolikt att bli forvirrad. Gor inte sa. --keep-groups Bevara kompletterande grupper. Anvands endast i kombination med --rgid, --egid eller --regid. --init-groups Initiera tillaggsgrupper med hjalp av initgroups3. Endast anvandbar i samband med --ruid eller --reuid. --list-caps Lista alla kanda funktioner. Denna flagga maste anges ensamt. --nnp, --no-new-privs Stall in biten no_new_privs. Om den har biten ar aktiverad kommer execve(2) inte att bevilja nya privilegier. Exempelvis kommer bitarna set-user-ID och set-group-ID samt filfunktioner att inaktiveras. (Exekvering av binarfiler med dessa bitar aktiverade kommer fortfarande att fungera, men de kommer inte att fa nagra privilegier. Vissa LSM:er, sarskilt AppArmor, kan leda till att vissa program inte kan koras) Denna bit arvs av underordnade processer och kan inte inaktiveras. Se prctl(2) och Documentation/prctl/no_new_privs.txt i Linux-karnans kallkod. Biten no_new_privs stods sedan Linux 3.5. --rgid gid, --egid gid, --regid gid Ange det verkliga, det effektiva eller bada GID:en. Argumentet gid kan anges som ett gruppnamn i textform. For sakerhets skull maste du ange nagot av --clear-groups, --groups, --keep-groups eller --init-groups om du anger nagon primar gid. --ruid uid, --euid uid, --reuid uid Ange det verkliga, det effektiva eller bada UID:erna. Argumentet uid kan anges som ett inloggningsnamn i textform. Att stalla in en uid eller gid andrar inte kapaciteten, aven om exec-anropet i slutet kan andra kapaciteten. Det innebar att om du ar root vill du formodligen gora nagot i stil med: setpriv --reuid=1000 --regid=1000 --inh-caps=-all --securebits (+|-)securebit... Stall in eller rensa securebits. Argumentet ar en kommaseparerad lista. De giltiga securebits ar noroot, noroot_locked, no_setuid_fixup, no_setuid_fixup_locked och keep_caps_locked. keep_caps rensas av execve(2) och ar darfor inte tillatet. --pdeathsig keep|clear| Behall, rensa eller stall in den overordnade processens dodssignal. Vissa LSM:er, framfor allt SELinux och AppArmor, rensar signalen nar processens autentiseringsuppgifter andras. Om du anvander --pdeathsig keep aterstalls den overordnade dodssignalen efter att autentiseringsuppgifterna har andrats for att atgarda den situationen. --ptracer pid|any|none Nar Yamas begransade ptrace-lage ar i kraft (det vill saga nar /proc/sys/kernel/yama/ptrace_scope ar satt till 1), tillat att sparas via ptrace(2) av processen med den angivna PID:n, eller nagon process, eller ingen process. Se PR_SET_PTRACER(2const). (Observera att detta inte arvs av underordnade processer, aven om det bevaras over execve(2)) Denna flagga har ingen effekt nar Yama inte ar aktiverat eller ar i ett annat lage an restricted ptrace. --selinux-label etikett Begar en viss SELinux-overgang (anvander en overgang pa exec, inte dyntrans). Detta kommer att misslyckas och leda till att setpriv avbryts om SELinux inte anvands, och overgangen kan ignoreras eller leda till att execve(2) misslyckas om SELinux sa onskar. (I synnerhet ar det osannolikt att detta fungerar tillsammans med no_new_privs.) Detta liknar runcon(1). --apparmor-profile profile Begar en viss AppArmor-profil (med hjalp av en overgang pa exec). Detta kommer att misslyckas och leda till att setpriv avbryts om AppArmor inte anvands, och overgangen kan ignoreras eller leda till att execve(2) misslyckas om AppArmor sa onskar. --landlock-access access Aktivera landlock-begransningar for en viss uppsattning systematkomster. For att tillata specifika undergrupper av atkomster anvand --landlock-rule. Blockera all atkomst till filsystemet: setpriv --landlock-atkomst fs Blockera all radering av filer och skapande av kataloger: setpriv --landlock-atkomst fs:remove-file,make-dir For en fullstandig uppsattning av atkomstkategorier som stods, anvand setpriv --help. The generic placeholder "fs" is subject to change and may be extended in future versions to support new access types. --landlock-rule rule Tillat en specifik atkomst fran de kategorier som blockeras av --landlock-access. Syntaxen ar som foljer: --landlock-rule $ruletype:$access:$rulearg Ge t.ex. lasatkomst till allt under /boot: --landlock-rule path-beneath:read-file:/boot --seccomp-filter fil Ladda ra BPF seccomp filterkod fran en fil. Filter kan t.ex. skapas med enosys. --reset-env o clears all the environment variables except TERM environment variable o initializes the environment variables HOME, SHELL, USER, LOGNAME according to the user's passwd entry o the environment variable SHELL defaults to /bin/sh if none is given in the user's passwd entry. o resets PATH environment variable according to setting in /etc/login.defs (ENV_PATH, ENV_SUPATH or ENV_ROOTPATH variables), or defaults to /usr/local/bin:/bin:/usr/bin for a regular user and to /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin for root. The environment variable PATH may be different on systems where /bin and /sbin are merged into /usr. -h, --help Visa hjalptext och avsluta. -V, --version Visa version och avsluta. ANTECKNINGAR Om tillampningen av nagon av de angivna flaggorna misslyckas kommer program inte att koras och setpriv kommer att returneras med utgangsstatus 127. Var forsiktig med det har verktyget - det kan fa ovantade konsekvenser for sakerheten. Om du till exempel staller in no_new_privs och sedan kor ett program som ar SELinux-begransat (som det har verktyget skulle gora) kan det handa att SELinux-begransningarna inte trader i kraft. EXEMPEL Om du vill ha ett beteende som liknar su(1)/runuser(1) eller sudo(8) (utan flaggan -g) kan du prova nagot liknande: setpriv --reuid=1000 --regid=1000 --init-groups Om du vill efterlikna daemontools setuid(8) kan du prova: setpriv --reuid=1000 --regid=1000 --clear-groups UPPHOVSPERSONER Andy Lutomirski SE AVEN runuser(1), su(1), prctl(2), capabilities(7), landlock(7) FELRAPPORTERING For felrapporter, anvand felhanteraren . TILLGANGLIGHET Kommandot setpriv ingar i paketet util-linux som kan hamtas fran Linux Kernel Archive . util-linux 2.42.1 2026-05-18 SETPRIV(1)