Înainte de a începe exercițiile, nu uitați să rulați comenzile de Git
din secțiunea Folosire Git pentru laborator.
În Linux există un fișier ce stochează informații despre toți utilizatorii din sistem.
Acest fișier este /etc/passwd
, este un fișier text și conține o listă cu utilizatorii din sistem și informații despre fiecare din ei, cum ar fi: user ID
, group ID
, home directory
, etc. Astfel, de fiecare dată când adăugăm un nou utilizator, se adaugă automat și o intrare în acest fișier.
Pentru mai multe detalii puteți accesa pagina de Wikipedia.
student@uso:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin ...
Exerciții
ana
, bogdan
și david
și să se afișeze informații utile despre aceștia (grupurile din care fac parte, directorul home, etc.).
-
pentru comanda su
:
student@uso:~$ su - ana Password: ana@uso:~$
La crearea unui utilizator, se crează în mod automat și un grup cu același nume. Dacă dorim să realizăm o organizare diferită a utilizatorilor, putem să creăm noi grupuri.
Pentru crearea unui grup se folosește comanda addgroup
, iar pentru ștergerea unui grup folosim delgroup
.
student@uso:~$ sudo addgroup studenti [sudo] password for student: Adding group `studenti' (GID 1003) ... Done.
Pentru a adăuga un utilizator în unul sau mai multe grupuri se foloseste comanda usermod
ca in exemplul de mai jos.
Comanda id
a fost apelată înainte și după adăugarea utilizatorului bogdan
în grupul studenti
pentru a verifica dacă adăugarea a funcționat.
student@uso:~$ id bogdan uid=1002(bogdan) gid=1002(bogdan) groups=1002(bogdan) student@uso:~$ sudo usermod bogdan -G studenti student@uso:~$ id bogdan uid=1002(bogdan) gid=1002(bogdan) groups=1002(bogdan),1003(studenti)
Exerciții
ana
și david
în grupul studenti
.dan
și elena
și grupul asistenti
și adăugați acești utilizatori în noul grup.asistenti
creat anterior și utilizatorii asociați.
deluser
și delgroup
urmate de numele utilizatorului, respectiv numele grupului.
După cum este explicat pe larg mai sus, pentru orice operație pe care un utilizator dorește să o facă asupra unui fișier sau director, acesta trebuie să aibă permisiunile necesare.
Atunci când mai mulți utilizatori trebuie să aibă anumite permisiuni asupra unui fișier (citire, scriere, execuție), se crează un nou grup cu utilizatorii respectivi și se setează acest grup ca grupul ce deține fișierul.
umask 0022
. Vom clarifica la secțiunea Nice to know
ce face ea.
student
crează fișierul studenti.txt
.
student@uso:~$ touch student.txt student@uso:~$ ls -l student.txt -rw-rw-r-- 1 student student 0 sep 25 21:42 student.txt
După ce a fost creat, ownerul fișierului este userul student
, iar grupul ce deține fișierul este student
.
Dorim ca acest fișier să poată fi editat de utilizatorii ana
, bogdan
și david
.
Toți acești utilizatori sunt deja într-un grup comun: studenti
. Astfel, tot ce ne rămâne de făcut este să modificăm grupul fișierului.
chown
, cât și chgrp
.
student@uso:~$ sudo chgrp studenti student.txt student@uso:~$ ls -l student.txt -rw-rw-r-- 1 student studenti 4 sep 25 21:54 student.txt
Acum putem verifica că și ceilalți utilizatori pot modifica conținutul fișierului:
ana@uso:/home/student$ echo Ana > student.txt ana@uso:/home/student$ cat student.txt Ana
Exerciții
shared
de către utilizatorul student
. Faceți modificările necesare astfel încât utilizatorul student
să poată modifica fișierul, utilizatorii bogdan
și david
să poată vizualiza conținutul fișierului, iar oricine altcineva să nu aibă niciun drept (testați cu utilizatorul ana
).