RUNUSER(1) Comenzi utilizator RUNUSER(1) NUME runuser - executa o comanda cu ID-ul inlocuitorului de utilizator i grup REZUMAT runuser [opiuni] -u utilizator [[--] comanda [argument...]] runuser [opiuni] [-] [utilizator [argument...]] DESCRIERE runuser poate fi utilizat pentru a rula comenzi cu un ID de utilizator i de grup substituit. Daca opiunea -u nu este furnizata, runuser revine la semantica compatibila cu su i se executa un shell. Diferena dintre comenzile runuser i su consta in faptul ca runuser nu solicita o parola (deoarece poate fi executat numai de catre utilizatorul root) i utilizeaza o configuraie PAM diferita. Comanda runuser nu trebuie sa fie instalata cu permisiuni set-user-ID. Daca sesiunea PAM nu este necesara, atunci soluia recomandata este utilizarea comenzii setpriv(1). Atunci cand este apelat fara argumente, runuser ruleaza in mod implicit un shell interactiv ca root. Pentru compatibilitate cu versiunile anterioare, runuser nu modifica in mod implicit directorul curent i stabilete doar variabilele de mediu HOME i SHELL (plus USER i LOGNAME daca utilizatorul inta nu este root). Aceasta versiune a runuser utilizeaza PAM pentru gestionarea sesiunilor. Reinei ca runuser folosete in toate cazurile PAM (pam_getenvlist()) 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, runuser 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 Grupul primar care urmeaza sa fie utilizat. Aceasta opiune este permisa 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: 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. Opiunea 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 terminal. Intreaga sesiune poate fi, de asemenea, mutata in fundal (de exemplu, runuser --pty -u utilizator -- comanda &). Daca pseudo-terminalul este activat, atunci runuser 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" | runuser --pty -u utilizator), 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. 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 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. --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. -u, --user=utilizator Ruleaza comanda cu ID-ul de utilizator i ID-ul de grup efective ale numelui de utilizator utilizator. -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. FIIERE DE CONFIGURARE runuser citete fiierele de configurare /etc/default/runuser i /etc/login.defs. Urmatoarele elemente de configurare sunt relevante pentru runuser: 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, runuser 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 runuser 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, runuser returneaza numarul semnalului plus 128. Stare de ieire generata de runuser 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/runuser fiierul de configurare PAM implicit /etc/pam.d/runuser-l Fiierul de configurare PAM daca este speciicata opiunea --login /etc/default/runuser fiierul de configurare logindef specific runuser /etc/login.defs fiierul de configurare globala logindef ISTORIC Aceasta comanda runuser a fost derivata din su de la coreutils, care s-a bazat pe o implementare de catre David MacKenzie, i din comanda runuser de la Fedora de catre Dan Walsh. CONSULTAI I setpriv(1), su(1), login.defs(5), shells(5), pam(8) RAPORTAREA ERORILOR Pentru rapoarte de eroare, folosii sistemul de urmarire al erorilor . DISPONIBILITATE Comanda runuser face parte din pachetul util-linux care poate fi descarcat de la Linux Kernel Archive . util-linux 2.41 2025-03-29 RUNUSER(1)