'\" t .\" Title: setpriv .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.23 .\" Date: 2025-03-29 .\" Manual: Comenzi utilizator .\" Source: util-linux 2.41 .\" Language: English .\" .TH "SETPRIV" "1" "2025-03-29" "util\-linux 2.41" "Comenzi utilizator" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NUME" setpriv \- rulează un program cu diferite configurări de privilegii Linux .SH "REZUMAT" .sp \fBsetpriv\fP [opțiuni] \fIprogram\fP [\fIargumente\fP] .SH "DESCRIERE" .sp Stabilește sau interoghează diverse configurări de privilegii Linux care sunt moștenite de \fBexecve\fP(2). .sp În comparație cu \fBsu\fP(1) și \fBrunuser\fP(1), \fBsetpriv\fP 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 \fBexecve\fP(2) și poate fi utilizat pentru a scădea privilegiile în același mod ca \fBsetuidgid\fP(8) din \fBdaemontools\fP, \fBchpst\fP(8) din \fBrunit\fP sau instrumente similare furnizate de alți administratori de servicii. .SH "OPȚIUNI" .sp \fB\-\-clear\-groups\fP .RS 4 Șterge grupurile suplimentare. .RE .sp \fB\-d\fP, \fB\-\-dump\fP .RS 4 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. .RE .sp \fB\-\-groups\fP \fIgrup\fP... .RS 4 Stabilește grupurile suplimentare. Argumentul este o listă de GID\-uri sau nume separate prin virgule. .RE .sp \fB\-\-inh\-caps\fP (\fB+\fP|\fB\-\fP)\fIcapacități\fP..., \fB\-\-ambient\-caps\fP (\fB+\fP|\fB\-\fP)\fIcapacități\fP..., \fB\-\-bounding\-set\fP (\fB+\fP|\fB\-\fP)\fIcapacități\fP... .RS 4 Stabilește capacitățile moștenite, capacitățile ambientale sau setul de limitare a capacităților. A se vedea \fBcapabilities\fP(7). Argumentul este o listă de intrări \fB+\fP\fIcapacități\fP și \fB\-\fP\fIcapacități\fP, separate prin virgule, care adaugă sau, respectiv, elimină o intrare. \fIcapacități\fP poate fi fie un nume interpretabil de către om, așa cum se vede în \fBcapabilities\fP(7), fără prefixul \fIcapacități\fP, fie în formatul \fBcap_N\fP, unde \fIN\fP este indexul intern al capacităților utilizat de Linux. \fB+all\fP și \fB\-all\fP pot fi utilizate pentru a adăuga sau a elimina toate capacitățile. .sp Setul de capacități începe cu setul moștenit curent pentru \fB\-\-inh\-caps\fP, setul ambiental curent pentru \fB\-\-ambient\-caps\fP și setul de limitare curent pentru \fB\-\-bounding\-set\fP. .sp Rețineți următoarele restricții [detaliate în \fBcapabilities\fP(7)] privind modificările aduse acestor seturi de capacități: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} O capacitate poate fi adăugată la setul moștenit numai dacă este prezentă în prezent în setul limitator. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} 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. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} În pofida sintaxei oferite de \fBsetpriv\fP, nucleul nu permite adăugarea de capacități la setul limitator. .RE .RE .sp 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. .sp \fB\-\-keep\-groups\fP .RS 4 Păstrează grupurile suplimentare. Utilă numai în combinație cu \fB\-\-rgid\fP, \fB\-\-egid\fP sau \fB\-\-regid\fP. .RE .sp \fB\-\-init\-groups\fP .RS 4 Inițializează grupurile suplimentare folosind initgroups3. Utilă numai în combinație cu \fB\-\-ruid\fP sau \fB\-\-reuid\fP. .RE .sp \fB\-\-list\-caps\fP .RS 4 Listează toate capacitățile cunoscute. Această opțiune trebuie să fie specificată singură. .RE .sp \fB\-\-no\-new\-privs\fP .RS 4 Activează bitul \fIno_new_privs\fP. Cu acest bit activat, \fBexecve\fP(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 \fBprctl\fP(2) și \fIDocumentation/prctl/no_new_privs.txt\fP în sursa nucleului Linux. .sp Bitul \fIno_new_privs\fP este acceptat începând cu Linux 3.5. .RE .sp \fB\-\-rgid\fP \fIgid\fP, \fB\-\-egid\fP \fIgid\fP, \fB\-\-regid\fP \fIgid\fP .RS 4 Stabilește GID\-ul real, efectiv sau ambele GID\-uri. Argumentul \fIgid\fP poate fi dat ca un nume de grup textual. .sp Pentru siguranță, trebuie să specificați una dintre următoarele opțiuni: \fB\-\-clear\-groups\fP, \fB\-\-groups\fP, \fB\-\-keep\-groups\fP sau \fB\-\-init\-groups\fP dacă stabiliți vreun \fIgid\fP primar. .RE .sp \fB\-\-ruid\fP \fIuid\fP, \fB\-\-euid\fP \fIuid\fP, \fB\-\-reuid\fP \fIuid\fP .RS 4 Stabilește UID\-ul real, efectiv sau ambele. Argumentul \fIuid\fP poate fi dat sub forma unui nume de autentificare textual. .sp Stabilirea unui \fIuid\fP sau \fIgid\fP 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: .sp \fBsetpriv \-\-reuid=1000 \-\-regid=1000 \-\-inh\-caps=\-all\fP .RE .sp \fB\-\-securebits\fP (\fB+\fP|\fB\-\fP)\fIbit\-securitate\fP... .RS 4 Activează sau dezactivează biții\-de\-securitate. Argumentul este o listă separată prin virgule. Biții\-de\-securitate valizi sunt \fInoroot\fP, \fInoroot_locked\fP, \fIno_setuid_fixup\fP, \fIno_setuid_fixup_locked\fP și \fIkeep_caps_locked\fP. \fIkeep_caps\fP este eliminat de \fBexecve\fP(2) și, prin urmare, nu este permis. .RE .sp \fB\-\-pdeathsig keep\fP|\fBclear\fP|\fB\fP .RS 4 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 \fB\-\-pdeathsig keep\fP se va restabili semnalul de moarte al părintelui după schimbarea acreditărilor pentru a remedia această situație. .RE .sp \fB\-\-ptracer\fP \fIpid\fP|\fBany\fP|\fBnone\fP .RS 4 Atunci când modul restricționat ptrace „restricted ptrace” al Yama este în vigoare (adică atunci când \fI/proc/sys/kernel/yama/ptrace_scope\fP este definit la 1), permite urmărirea prin \fBptrace\fP(2) de către procesul cu PID specificat, de către orice proces sau de către niciun proces. A se vedea \fBPR_SET_PTRACER\fP(2const). Rețineți că această opțiune nu este moștenită de procesele copil, deși este păstrată prin \fBexecve\fP(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”. .RE .sp \fB\-\-selinux\-label\fP \fIeticheta\fP .RS 4 Solicită o anumită tranziție SELinux (folosind o tranziție pe exec, nu dyntrans). Acest lucru va eșua și va face ca \fBsetpriv\fP să eșueze dacă SELinux nu este utilizat, iar tranziția poate fi ignorată sau poate face ca \fBexecve\fP(2) să eșueze, după bunul plac al lui SELinux (în special, este puțin probabil ca acest lucru să funcționeze împreună cu \fIno_new_privs\fP). Acest lucru este similar cu \fBruncon\fP(1). .RE .sp \fB\-\-apparmor\-profile\fP \fIprofil\fP .RS 4 Solicită un anumit profil AppArmor (utilizând o tranziție pe execuție). Acest lucru va eșua și va face ca \fBsetpriv\fP să fie anulat dacă AppArmor nu este utilizat, iar tranziția poate fi ignorată sau poate face ca \fBexecve\fP(2) să eșueze, în funcție de capriciul lui AppArmor. .RE .sp \fB\-\-landlock\-access\fP \fIacces\fP .RS 4 Activează restricțiile landlock pentru un set specific de accesări ale sistemului. Pentru a permite subgrupuri specifice de accese, utilizați \fB\-\-landlock\-rule\fP. .sp Blochează orice acces la sistemul de fișiere: .sp \fBsetpriv \-\-landlock\-access sistem\-fișiere\fP .sp Blochează toate ștergerile de fișiere și crearea de directoare: .sp \fBsetpriv \-\-landlock\-access sistem\-fișier:fișier\-de eliminat,make\-dir\fP .sp Pentru un set complet de categorii de acces acceptate, utilizați \fBsetpriv \-\-help\fP. .RE .sp \fB\-\-landlock\-rule\fP \fIregulă\fP .RS 4 Permite un anumit acces din categoriile blocate de \fB\-\-landlock\-access\fP. .sp Sintaxa este următoarea: .sp \fB\-\-landlock\-rule $ruletype:$access:$rulearg\fP .sp De exemplu, acordați acces de citire a fișierelor la tot ce se află sub \fB/boot\fP: .sp \fB\-\-landlock\-rule path\-beneath:read\-file:/boot\fP .RE .sp \fB\-\-seccomp\-filter\fP \fIfișier\fP .RS 4 Încarcă codul filtrului BPF seccomp brut dintr\-un fișier. .sp Filtrele pot fi create, de exemplu, cu \fBenosys\fP. .RE .sp \fB\-\-reset\-env\fP .RS 4 Șterge toate variabilele de mediu, cu excepția \fBTERM\fP; inițializează variabilele de mediu \fBHOME\fP, \fBSHELL\fP, \fBUSER\fP, \fBLOGNAME\fP în funcție de parola utilizatorului; definește \fBPATH\fP la \fI/usr/local/bin:/bin:/usr/bin\fP pentru un utilizator obișnuit și la \fI/usr/local/sbin:/usr/local/bin:/sbin:/bin:/bin:/usr/sbin:/usr/bin\fP pentru root. .sp Variabila de mediu \fBPATH\fP poate fi diferită pe sistemele în care \fI/bin\fP și \fI/sbin\fP sunt comasate în \fI/usr\fP. Variabila de mediu \fBSHELL\fP are ca valoare implicită \fB/bin/sh\fP în cazul în care nu este specificată în parola de acces a utilizatorului. .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Afișează acest mesaj de ajutor și iese. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Afișează versiunea și iese. .RE .SH "NOTE" .sp În cazul în care aplicarea oricărei opțiuni specificate eșuează, \fIprogram\fP nu va fi executat, iar \fBsetpriv\fP va termina cu starea de ieșire 127. .sp Aveți grijă cu acest instrument \- poate avea consecințe neașteptate asupra securității. De exemplu, dacă definiți \fIno_new_privs\fP ș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. .SH "EXEMPLE" .sp Dacă sunteți în căutarea unui comportament similar cu \fBsu\fP(1)/\fBrunuser\fP(1), sau \fBsudo\fP(8) (fără opțiunea \fB\-g\fP), încercați ceva de genul: .sp \fBsetpriv \-\-reuid=1000 \-\-regid=1000 \-\-init\-groups\fP .sp Dacă doriți să imitați \fBsetuid\fP(8) de la daemontools, încercați: .sp \fBsetpriv \-\-reuid=1000 \-\-regid=1000 \-\-clear\-groups\fP .SH "AUTORI" .sp .MTO "luto\(atamacapital.net" "Andy Lutomirski" "" .SH "CONSULTAȚI ȘI" .sp \fBrunuser\fP(1), \fBsu\fP(1), \fBprctl\fP(2), \fBcapabilities\fP(7) \fBlandlock\fP(7) .SH "RAPORTAREA ERORILOR" .sp Pentru rapoarte de eroare, folosiți \c .URL "https://github.com/util\-linux/util\-linux/issues" "sistemul de urmărire al erorilor" "." .SH "DISPONIBILITATE" .sp Comanda \fBsetpriv\fP face parte din pachetul util\-linux care poate fi descărcat de la \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."