Differences

This shows you the differences between two versions of the page.

Link to this comparison view

systems:uso:laboratoare:laborator-04 [2012/09/23 21:21]
ioan.eftimie [3. Permisiuni]
— (current)
Line 1: Line 1:
-====== [review] Laborator 04 - Gestiunea utilizatorilor ====== 
-<​hidden>​ 
-** Descriere ** 
-  * utilizator normal vs root 
-  * managementul utilizatorilor:​ useradd, groupadd, userdel 
-  * modificarea parolelor: passwd 
-  * drepturi administrative:​ sudo, su 
-  * drepturi pe fișiere: chmod numeric, literal 
-  * owner pe fișiere: chown, chgrp 
-  * directoare home: /​home/​student,​ /root, / 
-  * user-specific configuration:​ .bashrc 
-  * alias 
  
-  * conectarea la distanță în contul altui utilizator: SSH (prompt modificat pe mașinile de la distanță) 
-  * copierea de fișiere: SCP" 
- 
-** Referințe ** 
-  * vim (lab 03) 
-  * cp, cat, touch (lab 02) 
-  * virtualizare 
- 
-** TODO ** 
-  * review 
-  * asigură cu responsabilul de laborator, că există mașina virtuală smalltalk deja pe toate calculatoarele 
-</​hidden>​ 
- 
-=== Suport laborator === 
- 
-  * [[http://​books.google.com/​books?​id=_JFGzyRxQGcC&​lpg=PA532&​dq=introducere%20in%20sisteme%20de%20operare&​pg=PA53#​v=onepage&​q&​f=false|3. Gestiunea pachetelor și utilizatorilor]] 
- 
-  * Puteți urmări tutorialul video corespunzător laboratorului făcut de [[http://​itassistant.org/​diverse/​utilizarea-sistemelor-de-operare/​utilizarea-sistemelor-de-operare-3.html|IT Assistant]]. 
- 
-====== Tutorial ====== 
- 
-===== 1. Taskuri administrative. root. sudo. su ===== 
- 
-<​hidden>​ 
-Pe scurt, despre diferențierea între utilizatori normali, utilizatori privilegiați și conturi guest, dacă e cazul. Puține detalii despre ''​sudo''​ și ''​su''​ și de ce sunt necesare și cum lucrează. Chiar dacă e scris și în conținut, ei __nu__ prea citesc. 
-</​hidden>​ 
- 
-Rulați comanda următoare și observați ce se întâmplă (comanda închide calculatorul dacă se execută cu succes): 
- 
-<code bash> 
-halt 
-</​code>​ 
- 
-Observați că vi se spune că ar trebui să fiți ''​root''​ pentru a o putea rula. 
- 
-''​root''​ este un utilizator privilegiat. Doar el poate rula taskuri administrative. Practic, sistemul îi aparține lui. 
- 
-Pentru a deveni un alt utilizator se folosește comanda ''​su''​ (switch user). Fără nici un parametru suplimentar,​ această comandă vă permite accesarea contului de root și vă cere parola acestui utilizator. Ar fi riscant ca toata lumea să cunoască această parolă. De aceea, se oferă posibilitatea de a obține drepturi administrative folosind parola proprie, prin intermediul comenzii ''​sudo''​. 
- 
-În cazul nostru, folosim: 
-<code bash>​sudo su</​code>​ 
- 
-<​note>​Observați că ni se cere parola utilizatorului ''​student'',​ //NU// a utilizatorului privilegiat.</​note>​ 
- 
-<​hidden>​ 
-Insistat puțin pe faptul că indicațiile oferite de prompt pot să nu fie valide. Probabil puteți face referire la capitolul de Shell din carte unde au o secțiune despre modificarea promptului. Dacă grupa este above average le puteți zice direct și de **''​$PS1''​**,​ **''​$PS2''​** 
- 
-[[http://​books.google.com/​books?​id=_JFGzyRxQGcC&​lpg=PA532&​dq=introducere in sisteme de operare&​pg=RA1-PA429|12.11.2 Schimbarea promptului shell]] 
-</​hidden>​ 
- 
-Promptul a fost schimbat pentru a indica faptul că sunteți un utilizator privilegiat. Caracterul **''​$''​** indică un utilizator neprivilegiat,​ caracterul **''#''​** indică un utilizator privilegiat. 
- 
-<note warning> 
-Nu vă bazați întodeauna pe ce indică promptul. Poate fi configurat altfel! 
-</​note>​ 
- 
-Pentru a vă întoarce în shellul deținut de utilizatorul inițial, rulați comanda: 
- 
-<code bash>​exit</​code>​ 
- 
-<​note>​ 
-Se recomandă să nu folosiți contul privilegiat decât atât cât este necesar. Dacă folosiți ''​sudo su'',​ părăsiți acest cont imediat ce ați terminat taskurile ce aveau nevoie de acest cont! 
-</​note>​ 
- 
-<​hidden>​ 
-Prezentat faptul că mediul specific unui utilizator nu înseamnă doar directorul lui home ci și diverse setări salvate în **''​.*rc''​**-uri din directorul home. În funcție de nivelul grupei se poate merge în detaliu sau doar ilustra un hint. 
-</​hidden>​ 
- 
-Rulați următoarea secvență de comenzi: 
- 
-<code bash> 
-pwd 
-sudo su 
-pwd 
-exit 
-pwd 
-sudo su - 
-pwd 
-exit 
-pwd 
-</​code>​ 
- 
-Ce observați cu privire la directorul curent? 
- 
-<note tip>​Caracterul **''​-''​** face ca mediul specific utilizatorului pe care-l vom impersona să fie încărcat. Mediul curent este salvat și va fi restaurat după comanda **''​exit''​**. Prin mediu se înțeleg: modul de afișare al promptului, alias-uri, directorul home și variabile specifice fiecărui utilizator</​note>​ 
- 
-===== 2. Utilizatori ===== 
- 
-Creați utilizatorul ''​obama''​. Folosiți comanda următoare: 
- 
-<code bash> 
-adduser obama 
-</​code>​ 
- 
-Vi se va zice că trebuie să fiți ''​root''​. Din motive de securitate, se recomandă să nu folosim contul de ''​root''​ mai mult decât minimul necesar. 
- 
-Pentru comenzi simple, se recomandă folosirea formei ''​sudo <​comanda>''​ cu semnificația:​ //execută comanda ''<​comanda>''​ ca utilizator privilegiat//​. 
- 
-Rulați 
- 
-<code bash> 
-sudo adduser obama 
-</​code>​ 
- 
-Stabiliți parola ''​obama''​. Ignorați ultimele câmpuri (informațiile pentru utilizatorul nou creat). 
- 
-Logați-vă ca utilizatorul ''​obama'':​ 
- 
-<code bash> 
-su - obama 
-</​code>​ 
- 
-Asigurați-vă că sunteți în directorul ''/​home/​obama''​ și creați fișierul ''​launchcodes''​ conținând codurile secrete de lansare a rachetelor: 
- 
-<code bash> 
-echo "​123456789"​ > launchcodes 
-</​code>​ 
- 
-Ca ''​student'',​ creați utilizatorii ''​cameron'',​ ''​einstein''​ și ''​putin'':​ 
- 
-<code bash> 
-sudo su 
-adduser einstein 
-adduser cameron 
-adduser putin 
-exit 
-</​code>​ 
- 
-Stergeți utilizatorul ''​einstein''​ folosind comanda: 
- 
-<code bash> 
-sudo deluser einstein 
-</​code>​ 
- 
-Rulați comenzile următoare: 
- 
-<code bash> 
-su cameron 
-cat /​home/​obama/​launchcodes 
-exit 
-su putin 
-cat /​home/​obama/​launchcodes 
-exit 
-</​code>​ 
- 
-<note info> 
-Observați că atât cameron cât și putin au putut citi conținutul fișierului. 
- 
-Doar ''​obama''​ ar trebui să vadă conținutul fișierului **''​launchcodes''​**. Pentru a rezolva problema, vom folosi permisiuni. 
-</​note>​ 
- 
-===== 3. Permisiuni ===== 
- 
-Ca ''​obama''​ rulați comanda 
-<code bash> 
-ls -l launchcodes 
-</​code>​ 
- 
-<note important>​ 
-Prima coloană din output reprezintă permisiunile fișierului **''​launchcodes''​**. Pornind de la imaginea din laboratorul precedent, avem următoarea diagramă semnificativă (dreptunghiurile colorate au fost prezentate în laboratorul trecut) 
- 
-{{http://​elf.cs.pub.ro/​uso/​store/​03_ls-l.png?​nocache}} 
- 
-Permisiunile sunt împărțite în 3 grupe: 
-  * pentru utilizator (cel trecut în coloana reprezentând deținătorul fișierului) 
-  * pentru grup (cel trecut în coloana pentru grupul fișierului):​ toți utilizatorii acelui grup au aceleași permisiuni 
-  * pentru ceilalți utilizatori 
- 
-Fiecare grup este format din 3 caractere: 
-  * un caracter r pentru dreptul de a citi sau - dacă fișierul nu poate fi citit 
-  * un caracter w pentru dreptul de a modifica fișierul sau - dacă acest drept nu există 
-  * un caracter x pentru posibilitatea de a executa fișierul, - dacă nu se poate executa fișierul 
- 
-Pentru a modifica permsiunile folosim comanda ''​chmod''​ (change mode). 
- 
-În formă literală, permisiunile se pot da sub forma ''​[ugoa]{+-=}perm'':​ 
-  * opțional, un caracter din mulțimea {u, g, o, a} cu semnificația:​ 
-    * u - modifică permisiunile pentru utilizator 
-    * g - modifică permisiunile pentru grup 
-    * o - modifică permisiunile pentru ceilalți utilizatori (others) 
-    * a - modifică permisiunile pentru toți utilizatorii (all) 
-  * un caracter din setul {+, -, =} cu semnficația:​ 
-    * ''​+''​ - adaugă permsiunile următoare la cele existente 
-    * ''​-''​ - elimină drepturile următoare din cele existente 
-    * ''​=''​ - setează permisiunile la valoarea dată în continuare 
-  * permisiunile,​ exprimate cu caractere din mulțimea {r, w, x} cu semnificația:​ 
-    * r - dreptul de a citi fișierul sau directorul 
-    * w - dreptul de a modifica fișierul sau directorul 
-    * x - dreptul de a executa fișierul 
-</​note>​ 
- 
-Tastați 
- 
-<code bash> 
-chmod -r launchcodes 
-</​code>​ 
- 
-Folosind ''​ls -l''​ observați ce permisiuni are fișierul ''​launchodes''​. ​ 
-Verificați dacă ''​obama''​ poate citi fișierul ''​launchcodes''​. ​ 
- 
-<code bash> 
-cat launchcodes 
-</​code>​ 
- 
-Observați că absența unui caracter din {u, g, o, a} se interpretează ca modificarea permisiunilor pentru toți utilizatorii (''​a'',​ sau all). 
- 
-Rulați comanda următoare: 
- 
-<code bash> 
-chmod u+r launchcodes 
-</​code>​ 
- 
-Verificați cu ''​ls -l''​ ce permisiuni au fost adăugate. ​ 
- 
-Verificați cine poate citi fișierul ''​launchcodes'':​ 
- 
-<code bash> 
-cat launchcodes 
-exit 
-su cameron 
-cat /​home/​obama/​launchcodes 
-exit 
-su putin 
-cat /​home/​obama/​launchcodes 
-exit 
-</​code>​ 
- 
-Creați fișierul ''​test_perms''​. Rulați comenzile următoare și observați cum se modifică permisiunile:​ 
- 
-<code bash> 
-touch test_perms 
-ls -l test_perms 
-chmod a= test_perms 
-ls -l test_perms 
-chmod +r test_perms 
-ls -l test_perms 
-chmod u+w test_perms 
-ls -l test_perms 
-chmod u+x,o+w test_perms 
-ls -l test_perms 
-</​code>​ 
- 
-<note info> 
-Încercați și alte combinații acasă pentru a înțelege cât mai bine permisiunile. 
-</​note>​ 
- 
-<​hidden>​ 
-__NU__ treceți mai departe până ce nu sunteți siguri că 90% au înțeles permisiunile literale și ''​chmod''​. Vor avea probleme în continuare dacă nu înțeleg aici. 
-</​hidden>​ 
- 
-===== 4. Grupuri ===== 
- 
-<​hidden>​ 
-Cu ce vin grupurile în plus față de utilizatori?​ De ce au fost create? 
-</​hidden>​ 
- 
-Creați un tratat secret între USA și GB. Ca utilizator ''​obama''​ rulați comenzile următoare (__în ''/​home/​obama''​__):​ 
- 
-<code bash> 
-echo "​Tratat secret între USA și GB" > secrettreaty 
-su cameron 
-cat secrettreaty 
-su putin 
-cat secrettreaty 
-</​code>​ 
- 
-''​putin''​ nu ar trebui să citească/​scrie fișierul dar ''​cameron''​ și ''​obama''​ da. Nu puteți folosi doar permisiuni (de ce?). 
- 
-Adăugați grupul ''​nato''​ (ca __''​student''​__) astfel: 
- 
-<code bash> 
-sudo addgroup nato 
-</​code>​ 
- 
-Adăugați utilizatorii ''​cameron''​ și ''​obama''​ la grupul ''​nato''​ astfel: 
- 
-<code bash> 
-sudo adduser obama nato 
-sudo adduser cameron nato 
-</​code>​ 
- 
-Modificați grupul fișierului ''​secrettreaty''​ utilizând ''​chgrp''​. ​ 
- 
-<code bash> 
-chgrp nato secrettreaty 
-</​code>​ 
- 
-Modificați permisiunile fișierului astfel încât __doar__ persoanele din grup să-l poată citi sau modifica. Verificați permisiunile cu ''​ls -l''​. 
- 
-Verificați că doar utilizatorii ''​cameron''​ și ''​obama''​ pot citi sau modifica tratatul secret. 
- 
-===== 5. Parole ===== 
- 
-<​hidden>​ 
-Despre securitatea parolelor. 
-</​hidden>​ 
- 
-Utilizatorul ''​obama''​ dorește să-și schimbe parola. Logați ca ''​obama''​ rulați 
-<code bash> 
-passwd 
-</​code>​ 
- 
-și modificați parola la un număr cu o singură cifră. Ce observați? 
- 
-Rulați din nou comanda și modificați parola cu ''​0b4m442''​. 
- 
- 
-Utilizatorul ''​putin''​ dorește să-i modifice parola lui ''​cameron''​. Logați ca ''​putin''​ tastați comanda 
- 
-<code bash> 
-passwd cameron 
-</​code>​ 
- 
-Logați ca root, tastați comanda 
- 
-<code bash> 
-passwd cameron 
-</​code>​ 
- 
-(stabiliți noua parolă la ''​c4m3r0n''​) 
- 
-<​note>​ 
-Observați că orice utilizator își poate modifica parola proprie dar numai cei privilegiați pot modifica parolele altor utilizatori 
-</​note>​ 
- 
-===== 6. Date despre utilizatorii autentificați ===== 
- 
-Deschideți 3 conexiuni prin ''​ssh''​ la mașina virtuală ''​smalltalk''​ pe care o descărcați de [[http://​elf.cs.pub.ro/​uso/​store/​uso-vm-smalltalk.zip|aici TODO]]. 
- 
-<note tip> 
-Utilizatorul este ''​bjarne''​ cu parola ''​c++''​. Parola de root este ''​uso''​ 
-</​note>​ 
- 
-<code bash> 
-ssh bjarne@smalltalk.local 
-</​code>​ 
- 
-Tastați comanda: 
- 
-<code bash> 
-w 
-</​code>​ 
- 
-Ce observați? 
- 
-Rulați comenzile următoare __și pe mașina virtuală și pe cea fizică__: 
- 
-<code bash> 
-last 
-last -n 3 
-last bjarne -n 3 
-last reboot -n 5 
-uptime 
-</​code>​ 
- 
-Aceste comenzi pot fi folosite pentru a afla informații reduse despre sistem: 
- * timpul de când a fost pornit 
- * utilizatorii logați în sistem 
- * utilizatorii care s-au logat în sistem 
- 
-Pentru mai multe informații folosim log-uri. 
- 
-====== ​ Exerciții ====== 
- 
-===== 1. Home dirs ===== 
- 
-<​hidden>​ 
-Dacă nu le-ați zis la ''​-'',​ le spuneți acum de ''​~''​. 
-</​hidden>​ 
- 
-Creați utilizatorii ''​chirac''​ și ''​thatcher''​. 
- 
-Logați-vă ca fiecare dintre aceștia utilizând ''​su -''​. Folosiți ''​pwd''​ pentru a vedea în ce director este plasat utilizatorul în mod implicit: directorul __home__. 
- 
- 
-<​solution>​ 
-<code bash> 
-sudo adduser chirac 
-sudo adduser thatcher 
-su - chirac 
-pwd 
-exit 
-su - thatcher ​ 
-pwd 
-exit 
-</​code>​ 
-</​solution>​ 
- 
-Logați ca ''​chirac''​ logați-vă ca ''​thatcher''​ utilizând ''​su''​. Navigați spre directorul home utilizând ''​cd ~''​. 
- 
-<​solution>​ 
-<code bash> 
-su chirac 
-su thatcher 
-pwd  
-cd ~ 
-pwd 
-exit 
-exit 
-</​code>​ 
-</​solution>​ 
- 
-Logați ca ''​thatcher''​ navigați către home-ul lui ''​chirac''​ utilizând ''​cd ~chirac''​. 
- 
-<​solution>​ 
-<​code>​ 
-su thatcher 
-cd ~chirac 
-pwd 
-exit 
-</​code>​ 
-</​solution>​ 
- 
-Determinați directorul home pentru utilizatorul privilegiat,​ utilizând una din metodele din cadrul acestei secțiuni. 
- 
-<​solution>​ 
-<code bash> 
-sudo su - 
-pwd 
-exit 
-</​code>​ 
-</​solution>​ 
- 
-De ce nu este ''/''​ directorul căutat? 
- 
-<​solution>​ 
-''/''​ este rădăcina arborelui de fișiere. Directorul ''​~root''​ este un director din arbore. 
-</​solution>​ 
- 
-===== 2. bashrc. Aliasuri ===== 
- 
-Tastați ''​ll''​. Observați că se execută comanda ''​ls -l''​. Dacă folosiți ''​which ll''​ nu se va afișa nimic. Încercați ''​type ll''​. 
- 
-<​note>​ 
-''​ll''​ nu este o comandă propriu-zisă,​ ci un alias. Puteți lista aliasurile existente utilizând comanda ''​alias''​. 
-</​note>​ 
- 
-Utilizați ''​alias''​ pentru a face ca ''​lal''​ să fie un alias pentru ''​ls -al''​. 
- 
-<​solution>​ 
-<code bash> 
-alias lal="​ls -al" 
-lal 
-</​code>​ 
-</​solution>​ 
- 
-Se păstrează alias-ul și în alt terminal/​tab?​ 
- 
-Vizualizați fișierul de configurare bash din ''​~''​ (''​.bashrc''​) și adăugați definiția aliasului anterior definit. 
- 
-<​solution>​ 
-Se modifică ''​.bashrc''​ și se adaugă în el linia: 
-<code bash> 
-alias lal="​ls -al" 
-</​code>​ 
-</​solution>​ 
- 
-Verificați că alias-ul se păstrează acum și în alt terminal. 
- 
-<​note>​ 
-Configurările realizate din linia de comandă sunt temporare (se pierd după un restart al sistemului sau la pornirea altui terminal, în funcție de tipul configurării). 
- 
-Pentru configurările permanente trebuie __întotdeauna__ modificat un fișier. 
-</​note>​ 
- 
-===== 3. chmod numeric ===== 
- 
-<​hidden>​ 
-Dacă nu le-ați zis de permisiuni numerice când a fost partea de tutorial e bine :P. Mulți se încurcă dacă permisiunile sunt prezentate în ambele formate simultan. 
- 
-Prezentați permisiunile numerice acum. 
-</​hidden>​ 
- 
-''​chmod''​ permite specificarea drepturilor într-o formă numerică, mai comodă. Permisiunile unui fișier se exprimă ca un număr în baza 8 de 3 cifre. Pentru a face corespondența între numere și permisiuni, se realizează trecerea în baza 2 a fiecărei cifre în parte. Un bit 0 semnifica absența permisiunii respective, așa cum arată și figura: 
- 
-{{http://​elf.cs.pub.ro/​uso/​store/​03_numeric.png}} 
- 
-Creați utilizatorii ''​ana'',​ ''​gigel'',​ ''​chuck''​. 
- 
-<​solution>​ 
-<code bash> 
-sudo adduser ana 
-sudo adduser gigel 
-sudo adduser chuck 
-</​code>​ 
-</​solution>​ 
- 
-Autentificați-vă ca utilizatorul ''​ana''​. 
- 
-În home, creați fișierele **''​mere''​** și **''​pere''​** conținând,​ respectiv, textele ''​Ana are mere''​ și ''​Ana are pere''​. 
- 
-<​solution>​ 
-<code bash> 
-su ana 
-echo "Ana are mere" > ~/mere 
-echo "Ana are pere" > ~/pere 
-</​code>​ 
-</​solution>​ 
- 
-Modificați permisiunea fișierului ''​mere''​ astfel încât ''​gigel''​ să nu-l poată citi dar să-l poată scrie, păstrând nemodificate celelalte permisiuni. Folosiți doar opțiunile numerice pentru ''​chmod''​. 
- 
-<​solution>​ 
-<code bash> 
-ls -l ~/​mere ​ 
-chmod 642 ~/mere 
-ls -l ~/​mere ​ 
-</​code>​ 
-</​solution>​ 
- 
-Modificați permisiunile fișierului ''​pere''​ astfel încât ''​chuck''​ să-l poată modifica și citi. Folosiți permisiuni numerice. Nu modificați alte permisiuni. 
- 
-<​solution>​ 
-<code bash> 
-ls -l ~/​pere ​ 
-chmod 646 ~/pere 
-ls -l pere  
-</​code>​ 
-</​solution>​ 
- 
-Verificați permisiunile. 
- 
-<note tip>​Permisiunile setate pentru ''​chuck''​ sunt aceleași ca și pentru ''​gigel''​. Nu puteți să separați cei doi utilizatori.</​note>​ 
- 
-===== 4. chown ===== 
- 
-Schimbați owner-ul fișierului **''​pere''​** în ''​gigel''​. Ce drepturi va avea acum ''​ana''​ asupra fișierului ''​pere''?​ 
- 
-<note tip> 
-Din motive de securitate, comanda ''​chown''​ necesită privilegii de root. Folosiți ''​sudo''​ pentru a o rula. 
-</​note>​ 
- 
-<​solution>​ 
-<code bash> 
-sudo chown gigel pere 
-ls -l pere 
-</​code>​ 
-Ana va avea aceleași drepturi cu ''​chuck''​ - doar de scriere. 
-</​solution>​ 
- 
-===== 5. Sudo ===== 
- 
-<​note>​ 
-Nu este sigur să partajăm parola utilizatorului root. ''​sudo''​ (superuser do) este o metodă mai sigură şi mai flexibilă decât ''​su''​ pentru a delega autoritatea. 
- 
-Pentru ca un utilizator să poată folosi ''​sudo'',​ trebuie să aibă permisiune explicită în fişierul de configurare **''/​etc/​sudoers''​**. De asemenea, la folosirea sudo prima oară în sesiunea curentă, se cere o parolă. Aceasta este parola utilizatorului,​ nu a root. Astfel, nu partajăm parola root cu nimeni. 
- 
-De asemenea, ''​sudo''​ poate fi configurat să permită doar anumite comenzi, să nu ceară o parolă, şi să funcţioneze peste reţea. 
-</​note>​ 
- 
-Configurați ''​sudo''​ astfel încât ''​obama''​ să-l poată folosi. Urmăriți pașii: 
- 
-  * vizualizați conținutul fișierului **''/​etc/​sudoers''​** și identificați grupul utilizatorilor ce pot folosi ''​sudo''​. ATENȚIE: **NU** editați fișierul acum! (în mod normal, se recomandă folosirea ''​visudo''​ pentru a-l edita) 
-  * adăugați utilizatorul ''​obama''​ în acest grup 
- 
-Stergeți utilizatorul ''​putin'',​ fiind autentificat ca utilizator ''​obama''​. 
- 
-<​solution>​ 
-<code bash> 
-sudo adduser obama admin 
-su - obama 
-sudo deluser putin 
-</​code>​ 
-</​solution>​ 
- 
- 
-===== 6. sudo. visudo ===== 
- 
-<note warning> 
-Deoarece editorul folosit implicit de ''​visudo''​ este ''​nano'',​ rulați întâi comanda 
- 
-<code bash> 
-sudo update-alternatives --config editor 
-</​code>​ 
- 
-și alegeți ''​vim.basic''​ pentru a seta ''​vim''​ ca editor. 
-</​note>​ 
- 
-De ce ați adăugat la taskul precedent utilizatorul ''​obama''​ în grupul admin? ​ 
- 
-Dorim ca toți membrii grupului ''​admin''​ să poată folosi ''​sudo''​ fără a mai introduce parola. ​ 
- 
-Folosiți ''​visudo''​ pentru a modifica corespunzător. 
- 
-<​solution>​ 
-<code bash> 
-sudo visudo 
-</​code>​ 
-Se modifică linia din /​etc/​sudoers în: 
-<​code>​ 
-%admin ALL=(ALL) NOPASSWD: ALL 
-</​code>​ 
-</​solution>​ 
- 
-Verificați că ''​obama''​ poate rula ''​sudo ls''​ fără a i se cere parola pentru ''​sudo''​. 
- 
-===== 7. useradd ===== 
- 
-<​note>​ 
-Comanda ''​adduser''​ nu este portabilă (nu se găsește, de exemplu pe Gentoo), este doar un wrapper peste ''​useradd'',​ ''​usermod''​ şi alte comenzi similare. Exemplul de mai jos arată tipurile celor două fișiere (''​student@uso:​~$''​ semnifică promptul): 
- 
-<code bash> 
-student@uso:​~$ file $(which adduser) 
-/​usr/​sbin/​adduser:​ a /​usr/​bin/​perl script text executable 
-student@uso:​~$ file $(which useradd) 
-/​usr/​sbin/​useradd:​ ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), ​ 
-dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped 
-</​code>​ 
- 
-(comanda ''​file''​ afișează tipul unui fișier, comanda ''​which''​ afișează locația executabilului ce reprezintă o comandă, notația ''​$(cmd)''​ înseamnă executarea comenzii cmd și înlocuirea șirului cu rezultatul acestei comenzi) 
- 
-</​note>​ 
- 
-Adăugați utilizatorul ''​thor''​ având ca home directorul ''/​home/​asgaard/​thor'',​ membru al grupurilor ''​admin'',​ ''​student'',​ ''​nato''​ și ''​thor''​. 
- 
-<note tip> 
-Dacă nu configurați o parolă pentru contul creat, puteți să vă logați în acel cont prin intermediul contului privilegiat. 
-</​note>​ 
- 
-<​solution>​ 
-<code bash> 
-sudo mkdir -p /​home/​asgaard/​thor 
-sudo addgroup nato 
-sudo useradd -d /​home/​asgaard/​thor -G admin,​student,​nato thor 
-</​code>​ 
- 
-Deoarece nu a fost configurată parola, logarea ca ''​thor''​ se va face prin intermediul contului ''​root''​. 
-</​solution>​ 
systems/uso/laboratoare/laborator-04.1348424490.txt.gz · Last modified: 2012/09/23 21:21 by ioan.eftimie
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0