Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NUME

       setpriv - rulează un program cu diferite configurări de privilegii Linux

REZUMAT

       setpriv [opțiuni] program [argumente]

DESCRIERE

       Stabilește sau interoghează diverse configurări de privilegii Linux care sunt moștenite de execve(2).

       În comparație cu su(1) și runuser(1), setpriv nu utilizează PAM și nici nu solicită o parolă. Este un
       simplu învăluitor care nu stabilește ID-ul de utilizator în jurul lui execve(2) și poate fi utilizat
       pentru a scădea privilegiile în același mod ca setuidgid(8) din daemontools, chpst(8) din runit sau
       instrumente similare furnizate de alți administratori de servicii.

OPȚIUNI

       --clear-groups
           Șterge grupurile suplimentare.

       -d, --dump
           Afișează starea actuală a privilegiilor. Această opțiune poate fi specificată de mai multe ori pentru
           a afișa informații suplimentare, de cele mai multe ori inutile. Incompatibilă cu toate celelalte
           opțiuni.

       --groups grup...
           Stabilește grupurile suplimentare. Argumentul este o listă de GID-uri sau nume separate prin virgule.

       --inh-caps (+|-)capacități..., --ambient-caps (+|-)capacități..., --bounding-set (+|-)capacități...
           Stabilește capacitățile moștenite, capacitățile ambientale sau setul de limitare a capacităților. A
           se vedea capabilities(7). Argumentul este o listă de intrări +capacități și -capacități, separate
           prin virgule, care adaugă sau, respectiv, elimină o intrare. capacități poate fi fie un nume
           interpretabil de către om, așa cum se vede în capabilities(7), fără prefixul capacități, fie în
           formatul cap_N, unde N este indexul intern al capacităților utilizat de Linux. +all și -all pot fi
           utilizate pentru a adăuga sau a elimina toate capacitățile.

           Setul de capacități începe cu setul moștenit curent pentru --inh-caps, setul ambiental curent pentru
           --ambient-caps și setul de limitare curent pentru --bounding-set.

           Rețineți următoarele restricții [detaliate în capabilities(7)] privind modificările aduse acestor
           seturi de capacități:

           •   O capacitate poate fi adăugată la setul moștenit numai dacă este prezentă în prezent în setul
               limitator.

           •   O capacitate poate fi adăugată la setul „ambient” numai dacă este prezentă atât în setul permis,
               cât și în setul moștenit.

           •   În pofida sintaxei oferite de setpriv, nucleul nu permite adăugarea de capacități la setul
               limitator.

       Dacă renunțați la o capacitate din setul delimitator fără a o elimina, de asemenea, din setul moștenit,
       este posibil să vă confundați. Nu faceți acest lucru.

       --keep-groups
           Păstrează grupurile suplimentare. Utilă numai în combinație cu --rgid, --egid sau --regid.

       --init-groups
           Inițializează grupurile suplimentare folosind initgroups3. Utilă numai în combinație cu --ruid sau
           --reuid.

       --list-caps
           Listează toate capacitățile cunoscute. Această opțiune trebuie să fie specificată singură.

       --no-new-privs
           Activează bitul no_new_privs. Cu acest bit activat, execve(2) nu va acorda noi privilegii. De
           exemplu, vor fi dezactivați biții set-user-ID și set-group-ID, precum și capacitățile de fișier
           (executarea binarelor cu acești biți activați va funcționa în continuare, dar nu vor obține
           privilegii; anumite LSM-uri, în special AppArmor, pot duce la eșecuri în executarea anumitor
           programe). Acest bit este moștenit de procesele-copil și nu poate fi dezactivat. A se vedea prctl(2)
           și Documentation/prctl/no_new_privs.txt în sursa nucleului Linux.

           Bitul no_new_privs este acceptat începând cu Linux 3.5.

       --rgid gid, --egid gid, --regid gid
           Stabilește GID-ul real, efectiv sau ambele GID-uri. Argumentul gid poate fi dat ca un nume de grup
           textual.

           Pentru siguranță, trebuie să specificați una dintre următoarele opțiuni: --clear-groups, --groups,
           --keep-groups sau --init-groups dacă stabiliți vreun gid primar.

       --ruid uid, --euid uid, --reuid uid
           Stabilește UID-ul real, efectiv sau ambele. Argumentul uid poate fi dat sub forma unui nume de
           autentificare textual.

           Stabilirea unui uid sau gid nu modifică capacitățile, deși apelul exec de la sfârșit ar putea
           modifica capacitățile. Acest lucru înseamnă că, dacă sunteți root, probabil doriți să faceți ceva de
           genul:

           setpriv --reuid=1000 --regid=1000 --inh-caps=-all

       --securebits (+|-)bit-securitate...
           Activează sau dezactivează biții-de-securitate. Argumentul este o listă separată prin virgule.
           Biții-de-securitate valizi sunt noroot, noroot_locked, no_setuid_fixup, no_setuid_fixup_locked și
           keep_caps_locked. keep_caps este eliminat de execve(2) și, prin urmare, nu este permis.

       --pdeathsig keep|clear|<semnal>
           Păstrează, șterge sau activează semnalul de moarte al părintelui. Unele LSM-uri, în special SELinux
           și AppArmor, șterg semnalul atunci când se schimbă acreditările procesului. Folosind --pdeathsig keep
           se va restabili semnalul de moarte al părintelui după schimbarea acreditărilor pentru a remedia
           această situație.

       --ptracer pid|any|none
           Atunci când modul restricționat ptrace „restricted ptrace” al Yama este în vigoare (adică atunci când
           /proc/sys/kernel/yama/ptrace_scope este definit la 1), permite urmărirea prin ptrace(2) de către
           procesul cu PID specificat, de către orice proces sau de către niciun proces. A se vedea
           PR_SET_PTRACER(2const). Rețineți că această opțiune nu este moștenită de procesele copil, deși este
           păstrată prin execve(2). Această opțiune nu are niciun efect atunci când Yama nu este activat sau
           este într-un alt mod decât „restricted ptrace”.

       --selinux-label eticheta
           Solicită o anumită tranziție SELinux (folosind o tranziție pe exec, nu dyntrans). Acest lucru va eșua
           și va face ca setpriv să eșueze dacă SELinux nu este utilizat, iar tranziția poate fi ignorată sau
           poate face ca execve(2) să eșueze, după bunul plac al lui SELinux (în special, este puțin probabil ca
           acest lucru să funcționeze împreună cu no_new_privs). Acest lucru este similar cu runcon(1).

       --apparmor-profile profil
           Solicită un anumit profil AppArmor (utilizând o tranziție pe execuție). Acest lucru va eșua și va
           face ca setpriv să fie anulat dacă AppArmor nu este utilizat, iar tranziția poate fi ignorată sau
           poate face ca execve(2) să eșueze, în funcție de capriciul lui AppArmor.

       --landlock-access acces
           Activează restricțiile landlock pentru un set specific de accesări ale sistemului. Pentru a permite
           subgrupuri specifice de accese, utilizați --landlock-rule.

           Blochează orice acces la sistemul de fișiere:

           setpriv --landlock-access sistem-fișiere

           Blochează toate ștergerile de fișiere și crearea de directoare:

           setpriv --landlock-access sistem-fișier:fișier-de eliminat,make-dir

           Pentru un set complet de categorii de acces acceptate, utilizați setpriv --help.

       --landlock-rule regulă
           Permite un anumit acces din categoriile blocate de --landlock-access.

           Sintaxa este următoarea:

           --landlock-rule $ruletype:$access:$rulearg

           De exemplu, acordați acces de citire a fișierelor la tot ce se află sub /boot:

           --landlock-rule path-beneath:read-file:/boot

       --seccomp-filter fișier
           Încarcă codul filtrului BPF seccomp brut dintr-un fișier.

           Filtrele pot fi create, de exemplu, cu enosys.

       --reset-env
           Șterge toate variabilele de mediu, cu excepția TERM; inițializează variabilele de mediu HOME, SHELL,
           USER, LOGNAME în funcție de parola utilizatorului; definește PATH la /usr/local/bin:/bin:/usr/bin
           pentru un utilizator obișnuit și la /usr/local/sbin:/usr/local/bin:/sbin:/bin:/bin:/usr/sbin:/usr/bin
           pentru root.

           Variabila de mediu PATH poate fi diferită pe sistemele în care /bin și /sbin sunt comasate în /usr.
           Variabila de mediu SHELL are ca valoare implicită /bin/sh în cazul în care nu este specificată în
           parola de acces a utilizatorului.

       -h, --help
           Afișează acest mesaj de ajutor și iese.

       -V, --version
           Afișează versiunea și iese.

NOTE

       În cazul în care aplicarea oricărei opțiuni specificate eșuează, program nu va fi executat, iar setpriv
       va termina cu starea de ieșire 127.

       Aveți grijă cu acest instrument - poate avea consecințe neașteptate asupra securității. De exemplu, dacă
       definiți no_new_privs și apoi executați un program care este limitat de SELinux (așa cum ar face acest
       instrument), este posibil ca restricțiile SELinux să nu își facă efectul.

EXEMPLE

       Dacă sunteți în căutarea unui comportament similar cu su(1)/runuser(1), sau sudo(8) (fără opțiunea -g),
       încercați ceva de genul:

       setpriv --reuid=1000 --regid=1000 --init-groups

       Dacă doriți să imitați setuid(8) de la daemontools, încercați:

       setpriv --reuid=1000 --regid=1000 --clear-groups

AUTORI

       Andy Lutomirski <luto@amacapital.net>

CONSULTAȚI ȘI

       runuser(1), su(1), prctl(2), capabilities(7) landlock(7)

RAPORTAREA ERORILOR

       Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor
       <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

       Comanda setpriv face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                         SETPRIV(1)