SU(1) Comenzi utilizator SU(1) NUME su - executa o comanda cu ID-ul de utilizator i grup substituitor REZUMAT su [opiuni] [-] [utilizator [argument...]] DESCRIERE su permite rularea comenzilor cu un ID de utilizator i de grup substitut. Atunci cand este apelat fara a fi specificat utilizatorul, su ruleaza implicit un shell interactiv ca root. Atunci cand este specificat utilizatorul, pot fi furnizate argumente suplimentare, caz in care acestea sunt pasate shell-ului. Pentru compatibilitate cu versiunile anterioare, su nu modifica in mod implicit directorul curent i definete doar variabilele de mediu HOME i SHELL (plus USER i LOGNAME daca utilizatorul inta nu este root). Se recomanda sa se utilizeze intotdeauna opiunea --login (in loc de prescurtarea sa -) pentru a evita efectele secundare cauzate de amestecarea mediilor. Aceasta versiune de su utilizeaza PAM pentru autentificare, gestionarea conturilor i a sesiunilor. Unele opiuni de configurare care se gasesc in alte implementari su, cum ar fi suportul pentru un grup wheel, trebuie sa fie configurate prin PAM. su este conceput in principal pentru utilizatorii fara privilegii, soluia recomandata pentru utilizatorii privilegiai (de exemplu, scripturile executate de root) este de a utiliza comanda, fara activarea bitului ,,suid," runuser(1) care nu necesita autentificare i care ofera o configuraie PAM separata. Daca sesiunea PAM nu este deloc necesara, atunci soluia recomandata este utilizarea comenzii setpriv(1). Reinei ca su folosete in toate cazurile PAM (pam_getenvlist(3)) pentru a efectua modificarea finala a mediului. Opiunile din linia de comanda, cum ar fi --login i --preserve-environment, afecteaza mediul inainte ca acesta sa fie modificat de PAM. Incepand cu versiunea 2.38, su reiniiaza limitele de resurse de proces RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS i RLIMIT_NOFILE. OPIUNI -c, --command comanda Paseaza comanda catre shell cu opiunea -c. -f, --fast Paseaza -f catre shell, care poate fi sau nu util, in funcie de shell. -g, --group grup Specifica grupul primar. Aceasta opiune este disponibila numai pentru utilizatorul root. -G, --supp-group grup Specifica un grup suplimentar. Aceasta opiune este disponibila numai pentru utilizatorul root. Primul grup suplimentar specificat este, de asemenea, utilizat ca grup primar daca nu este specificata opiunea --group. -, -l, --login Pornete shell-ul ca un shell de autentificare cu un mediu similar unei autentificari reale. Reinei ca, pe sistemele bazate pe systemd, o sesiune noua poate fi definita ca un punct de intrare real in sistem. Cu toate acestea, su nu creeaza o sesiune reala (prin PAM) din acest punct de vedere. Trebuie sa utilizai instrumente precum systemd-run sau machinectl pentru a iniia o sesiune completa, reala. su face: o terge toate variabilele de mediu, cu excepia TERM i a variabilelor specificate de --whitelist-environment o iniializeaza variabilele de mediu HOME, SHELL, USER, LOGNAME i PATH o schimba la directorul principal al utilizatorului inta o stabilete argv[0] din shell la ,,-" pentru a face din shell un shell de autentificare -m, -p, --preserve-environment Pastreaza intregul mediu, adica nu stabilete HOME, SHELL, USER sau LOGNAME. Aceasta opiune este ignorata daca este specificata opiunea --login. -P, --pty Creeaza un pseudo-terminal pentru sesiune. Terminalul independent ofera o securitate mai buna, deoarece utilizatorul nu imparte un terminal cu sesiunea originala. Acest lucru poate fi utilizat pentru a evita injectarea ioctl TIOCSTI terminalului i alte atacuri de securitate impotriva descriptorilor de fiiere de terminal. Intreaga sesiune poate fi, de asemenea, mutata in fundal (de exemplu, su --pty - utilizator -c aplicaia &). Daca pseudo-terminalul este activat, atunci su funcioneaza ca un proxy intre sesiuni (sincronizeaza intrarea i ieirea standard). Aceasta caracteristica este conceputa in special pentru sesiunile interactive. In cazul in care intrarea standard nu este un terminal, ci, de exemplu, o conducta (de exemplu, echo "date" | su --pty), atunci fanionul ECHO pentru pseudo-terminal este dezactivat pentru a evita o ieire dezordonata. -s, --shell shell Ruleaza shell-ul specificat in locul celui implicit. Daca utilizatorul inta are un shell restricionat (adica nu este listat in /etc/shells), atunci opiunea --shell i variabilele de mediu SHELL sunt ignorate, cu excepia cazului in care utilizatorul apelant este root. Shell-ul care urmeaza sa fie executat este selectat in conformitate cu urmatoarele reguli, in ordine: o shell-ul specificat cu --shell o shell-ul specificat in variabila de mediu SHELL, in cazul in care se utilizeaza opiunea --preserve-environment o shell-ul listat in fiierul passwd al utilizatorului inta o /bin/sh --session-command=comanda La fel ca -c, dar nu creeaza o sesiune noua. (Neindicata.) -T, --no-pty Nu creeaza un pseudo-terminal, opusul lui --pty i -P. Reinei ca rularea fara un pseudo-terminal deschide riscul de securitate al escaladarii privilegiilor prin injectarea comenzilor ioctl TIOCSTI/TIOCLINUX. -w, --whitelist-environment lista Nu se reiniializeaza variabilele de mediu specificate in lista separata prin virgule atunci cand se terge mediul pentru --login. Lista alba este ignorata pentru variabilele de mediu HOME, SHELL, USER, LOGNAME i PATH. -h, --help Afieaza acest mesaj de ajutor i iese. -V, --version Afieaza versiunea i iese. SEMNALE La primirea fie a semnalului SIGINT, SIGQUIT sau SIGTERM, su ii termina procesul-copil i apoi se termina pe sine cu semnalul primit. Procesul-copilu se termina prin SIGTERM, iar dupa o incercare nereuita i-o intarziere de 2 secunde, procesul-copil este omorat prin SIGKILL. FIIERE DE CONFIGURARE su citete fiierele de configurare /etc/default/su i /etc/login.defs. Urmatoarele elemente de configurare sunt relevante pentru su: FAIL_DELAY (numar) Intarzierea in secunde in cazul unui eec de autentificare. Numarul trebuie sa fie un numar intreg nenegativ. ENV_PATH (ir) Definete variabila de mediu PATH pentru un utilizator obinuit. Valoarea implicita este /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (ir), ENV_SUPATH (ir) Definete variabila de mediu PATH pentru root. ENV_SUPATH are prioritate. Valoarea implicita este /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH (boolean) Daca este stabilita la yes i --login i --preserve-environment nu au fost specificate, su iniializeaza PATH. Variabila de mediu PATH poate fi diferita pe sistemele in care /bin i /sbin sunt comasate in /usr; aceasta variabila este, de asemenea, afectata de opiunea de linie de comanda --login i de setarea sistemului PAM (de exemplu, pam_env(8)). STARE DE IEIRE su returneaza in mod normal starea de ieire a comenzii pe care a executat-o. In cazul in care comanda a fost omorata de un semnal, su returneaza numarul semnalului plus 128. Stare de ieire generata de su insui: 1 Eroare generica inainte de executarea comenzii solicitate 126 Comanda solicitata nu a putut fi executata 127 Comanda solicitata nu a fost gasita FIIERE /etc/pam.d/su fiierul de configurare PAM implicit /etc/pam.d/su-l Fiierul de configurare PAM daca este speciicata opiunea --login /etc/default/su fiierul de configurare logindef specific comenzii /etc/login.defs fiierul de configurare globala logindef NOTE Din motive de securitate, su inregistreaza intotdeauna incercarile euate de autentificare in fiierul btmp, dar nu scrie deloc in fiierul lastlog. Aceasta soluie poate fi utilizata pentru a controla comportamentul su prin configurarea PAM. Daca dorii sa utilizai modulul pam_lastlog(8) pentru a afia un mesaj de avertizare cu privire la incercarile euate de autentificare, atunci pam_lastlog(8) trebuie sa fie configurat pentru a actualiza i fiierul lastlog. De exemplu prin: session required pam_lastlog.so nowtmp ISTORIC Aceasta comanda su a fost derivata din su de la coreutils, care a fost bazata pe o implementare realizata de David MacKenzie. Versiunea util-linux a fost remodelata de Karel Zak. CONSULTAI I setpriv(1), login.defs(5), shells(5), pam(8), runuser(1) RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda su face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.41 2025-03-29 SU(1)