This is an old revision of the document!
Cuvantul utilizator defineste in primul rand persoana fizica care doreste sa acceseze resursele si functionalitatile unui sistem de calcul. Din punct de vedere al sistemului de operare insa, utilizatorul presupune existenta unui cont de utilizator prin intermediul caruia sunt accesate resursele puse acestuia la dispozitie acestuia in sistem (de exemplu fisierele) si care poate crea procese.
Clasificare:
Un prompt BASH default ne arata utilizatorul care s-a logat pe seiunea shell curenta. In acest caz, utilizatorul este student.
student@uso:~$
Informatiile despre utilizatori sunt stocate in fisierul /etc/passwd
student@uso:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash mihai:x:1001:1001:/home/mihai:/bin/bash maria:x:1002:1002:/home/maria:/bin/bash
Fiecare utilizator este identificat in mod unic in functie de UID (User Identifier). De asemenea, un utilizator are atribuit si un director home
. Pentru a accesa directorul home, folosim caracterul ~
, acesta substituind calea catre directorul home al utilizatorului curent:
student@uso:~$ cd ~ student@uso:~$ pwd /home/student
Observam ca directorul home al utilizatorului student este /home/student
. Utilizatorul root
(utilizatorul privilegiat in Unix) are UID-ul 0 si home-ul in /root
.
Pentru usurinta in realizarea unor configuratii in sistem, utilizatorii pot fi organizati in grupuri. Un grup poate contine mai multi utilizatori, iar un utilizator poate face parte din mai multe grupuri. Fiecare grup foloseste un identificator unic numit GID (Group Identifier). GID-ul 0 este rezervat grupului utilizatorului root.
Fisierul /etc/group
contine informatii despre toate grupurile din sistem.
Mai jos este un demo unde vor fi prezentate comenzile mentionate in curs, alaturi de exemple de folosire a acestora.
Comanda su (substitute user) este folosita pentru a schimba utilizatorul current.
student@uso:~$ su mihai Password: mihai@uso:/home/student$
De cele mai multe ori, comanda su este folosita alaturi de sudo (substitute usor do) pentru a accesa un shell cu drepturi privilegiate. Daca dupa utilitarul su nu se da un nume de utilizator atunci se va considera ca se doreste accesarea utilizatorului root.
student@uso:~$ sudo su [sudo] password for student: root@uso:/home/student#
Se mai poate folosi si comanda sudo bash
pentru a obtine un astfel de shell.
Aceasta comanda va schimba directorul current în home-ul root-ului.
student@uso:~$ sudo bash [sudo] password for student: root@uso:~#
mihai@uso:~$ sudo su [sudo] password for mihai: mihai is not in the sudoers file. This incident will be reported. mihai@uso:~$
Comenzile id si finger se folosesc pentru a afla informatii despre un anumit utilizator.
student@uso:~$ id mihai uid=1001(mihai) gid=1001(mihai) groups=1001(mihai) student@uso:~$ finger mihai Login: mihai Name: Mihai Popescu Directory: /home/mihai Shell: /bin/bash Office: 101 Never logged in. No mail. No Plan.
Aceste comenzi ofera informatii despre userii logati in sistem.
student@uso:~/Documents$ w 12:18:08 up 2 days, 18:27, 3 users, load average: 0,26, 0,19, 0,08 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT student :0 :0 11:57 ?xdm? 7:05 0.01s /usr/lib/gdm3/gdm-x-session --run-script maria tty2 - 12:18 8.00s 0.05s 0.05s -bash mihai :1 :1 12:15 ?xdm? 7:05 0.01s /usr/lib/gdm3/gdm-x-session --run-script student@uso:~/Documents$ who student :0 2020-10-13 11:57 (:0) maria tty2 2020-10-13 12:18 mihai :1 2020-10-13 12:15 (:1)
Comanda pinky poate produce si un output asemanator cu finger.
student@uso:~$ pinky -l student Login name: student In real life: Student User Directory: /home/student Shell: /bin/bash
Comanda whoami afiseaza username-ul utilizatorului current.
student@uso:~$ whoami student student@uso:~$
Comanda users afiseaza userii logati in system.
mihai@uso:/home/student$ users student mihai@uso:/home/student$
Comanda groups afiseaza grupurile din care face parte un utilizator dat ca parametru comenzii. Daca nu se da niciun utilizator, atunci se va lua utilizatorul current.
student@uso:~$ groups student adm cdrom sudo dip plugdev lpadmin sambashare student@uso:~$ groups root root : root student@uso:~$ groups student student : student adm cdrom sudo dip plugdev lpadmin sambashare student@uso:~$ groups mihai mihai : mihai
Comanda passwd este folosita pentru a schimba parola unui utilizator. Un utilizator neprivilegiat trebuie sa foloseasca sudo pentru a schimba parola altui utilizator.
student@uso:~$ sudo passwd mihai Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully mihai@uso:/home/student$ passwd mihai Changing password for mihai. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Ambele comenzi sunt folosite pentru a adauga un user in sistem. Comanda adduser se foloseste de useradd, dar este mai user friendly.
student@uso:~$ sudo useradd marcela student@uso:~$ id marcela uid=1003(marcela) gid=1003(marcela) groups=1003(marcela) student@uso:~$ sudo adduser marcela Adding user `marcela' ... Adding new group `marcela' (1003) ... Adding new user `marcela' (1003) with group `marcela' ... Creating home directory `/home/marcela' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for marcela Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] student@uso:~$