| SU(1) | Comenzi utilizator | SU(1) |
NUME¶
su - execută o comandă cu ID-ul de utilizator și grup substituitor
REZUMAT¶
su [opțiuni] [-] [utilizator|UID[argument...]]
DESCRIERE¶
su permite rularea comenzilor cu un ID de utilizator și de grup substitut.
Atunci când este apelat fără a fi specificat utilizatorul, su rulează implicit un shell interactiv ca root. Atunci când este specificat utilizatorul, pot fi furnizate argumente suplimentare, caz în care acestea sunt pasate shell-ului.
Pentru compatibilitate cu versiunile anterioare, su nu modifică în mod implicit directorul curent și definește doar variabilele de mediu HOME și SHELL (plus USER și LOGNAME dacă utilizatorul țintă nu este root). Se recomandă să se utilizeze întotdeauna opțiunea --login (în loc de prescurtarea sa -) pentru a evita efectele secundare cauzate de amestecarea mediilor.
Această versiune de su utilizează PAM pentru autentificare, gestionarea conturilor și a sesiunilor. Unele opțiuni de configurare care se găsesc în alte implementări su, cum ar fi suportul pentru un grup wheel, trebuie să fie configurate prin PAM.
su este conceput în principal pentru utilizatorii fără privilegii, soluția recomandată pentru utilizatorii privilegiați (de exemplu, scripturile executate de root) este de a utiliza comanda, fără activarea bitului „suid,” runuser(1) care nu necesită autentificare și care oferă o configurație PAM separată. Dacă sesiunea PAM nu este deloc necesară, atunci soluția recomandată este utilizarea comenzii setpriv(1).
Rețineți că su folosește în toate cazurile PAM (pam_getenvlist(3)) pentru a efectua modificarea finală a mediului. Opțiunile din linia de comandă, cum ar fi --login și --preserve-environment, afectează mediul înainte ca acesta să fie modificat de PAM.
Începând cu versiunea 2.38, su reinițiază limitele de resurse de proces RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS și RLIMIT_NOFILE.
OPȚIUNI¶
-c, --command comanda
-f, --fast
-g, --group grup
-G, --supp-group grup
-, -l, --login
Rețineți că, pe sistemele bazate pe systemd(1)-, o sesiune nouă poate fi definită ca un punct de intrare real în sistem. Cu toate acestea, su nu creează o sesiune reală (prin PAM) din acest punct de vedere. Trebuie să utilizați instrumente precum systemd-run(1) sau machinectl(1) pentru a iniția o sesiune completă, reală.
su face:
-m, -p, --preserve-environment
-P, --pty
Întreaga sesiune poate fi, de asemenea, mutată în fundal (de exemplu, su --pty - utilizator -c aplicația &). Dacă pseudo-terminalul este activat, atunci su funcționează ca un proxy între sesiuni (sincronizează intrarea și ieșirea standard).
Această caracteristică este concepută în special pentru sesiunile interactive. În cazul în care intrarea standard nu este un terminal, ci, de exemplu, o conductă (de exemplu, echo "date" | su --pty), atunci fanionul ECHO pentru pseudo-terminal este dezactivat pentru a evita o ieșire dezordonată.
-s, --shell shell
Shell-ul care urmează să fie executat este selectat în conformitate cu următoarele reguli, în ordine:
--session-command=comanda
-T, --no-pty
-w, --whitelist-environment lista
-h, --help
-V, --version
SEMNALE¶
La primirea fie a semnalului SIGINT, SIGQUIT sau SIGTERM, su își termină procesul-copil și apoi se termină pe sine cu semnalul primit. Procesul-copilu se termină prin SIGTERM, iar după o încercare nereușită și-o întârziere de 2 secunde, procesul-copil este omorât prin SIGKILL.
FIȘIERE DE CONFIGURARE¶
su citește fișierele de configurare /etc/default/su și /etc/login.defs. Următoarele elemente de configurare sunt relevante pentru su:
FAIL_DELAY (număr)
ENV_PATH (șir)
ENV_ROOTPATH (șir), ENV_SUPATH (șir)
ALWAYS_SET_PATH (boolean)
Variabila de mediu PATH poate fi diferită pe sistemele în care /bin și /sbin sunt comasate în /usr; această variabilă este, de asemenea, afectată de opțiunea de linie de comandă --login și de setarea sistemului PAM (de exemplu, pam_env(8)).
STARE DE IEȘIRE¶
su returnează în mod normal starea de ieșire a comenzii pe care a executat-o. În cazul în care comanda a fost omorâtă de un semnal, su returnează numărul semnalului plus 128.
Stare de ieșire generată de su însuși:
1
126
127
FIȘIERE¶
/etc/pam.d/su
/etc/pam.d/su-l
/etc/default/su
/etc/login.defs
AVIZ DE SECURITATE¶
Dacă su împarte același terminal cu sesiunea inițială, există riscul unei escaladări a privilegiilor prin injectarea de comenzi ioctl de tip TIOCSTI/TIOCLINUX. Există două modalități integrate de a preveni acest lucru: fie puteți utiliza su cu opțiunea -c, care pornește o nouă sesiune prin setsid(2) fără un terminal de control. Sau, dacă cazul dvs. de utilizare necesită un terminal de control, de exemplu o sesiune interactivă, puteți instrui su să utilizeze un pseudo-terminal cu opțiunea --pty sau -P.
Din motive de securitate, su înregistrează întotdeauna încercările eșuate de autentificare în fișierul btmp, dar nu scrie deloc în fișierul lastlog. Această soluție poate fi utilizată pentru a controla comportamentul su prin configurarea PAM. Dacă doriți să utilizați modulul pam_lastlog(8) pentru a afișa un mesaj de avertizare cu privire la încercările eșuate de autentificare, atunci pam_lastlog(8) trebuie să fie configurat pentru a actualiza și fișierul lastlog. De exemplu prin:
session required pam_lastlog.so nowtmp
ISTORIC¶
Această comandă su a fost derivată din su de la coreutils, care a fost bazată pe o implementare realizată de David MacKenzie. Versiunea util-linux a fost remodelată de Karel Zak.
CONSULTAȚI ȘI¶
setpriv(1), login.defs(5), shells(5), pam(8), runuser(1)
RAPORTAREA ERORILOR¶
Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor <https://github.com/util-linux/util-linux/issues>.
DISPONIBILITATE¶
Comanda su 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/>.
| 2026-06-14 | util-linux 2.42.1 |