su & sudo
Odata logat in sistem un user poate "deveni" un alt user folosind comanda su (substitute user) care porneste un nou shell cu UID si GID noului user. Urmatoarele comenzi vor fi executate cu UID si GUID userului nou adica cu permisiunile acestuia.
Nota
|
In Ubuntu userul root este dezactivat default, in sensul ca nu este permisa logarea acestuia in sistem (inclusiv 'devenirea' root prin executarea comenzii su). Activarea userului root presupune setarea acestuia a unei parole:
sudo su -> se introduce parola userului neprivilegiat creat la instalare
passwod root -> se seteaza userului root parola
Din acest moment putem 'deveni' root executand comanda su ca user neprivilegiat si introducand parola de root.
|
su [-] [username]
caracterul "-" are ca efect imprumutarea mediului de lucru (environment) al noului user.
Apar in acest moment 2 noi concepte: RUID (Real User ID) ca fiind UID-ul utilizatorului care s-a logat initial in sistem siEUID (Effective User ID) ca fiind UID-ul utilizatorului devenit in urma rularii comenzii su.
Pentru a vizualiza RUID se foloseste comanda who am i, iar pentru a vizualiza EUID se foloseste comanda whoami sau id
Nota
|
Se poate configura ce useri au dreptul sa devina root folosind su. Din pdv al securitatii sistemului este esential sa permitem numai catorva useri sa poata deveni root (chiar daca si altii stiu parola ei nu pot deveni root).
|
Exemplu
|
Se editeaza fisierul /etc/pam.d/su astfel:
auth sufficient /lib/security/$ISA/pam_wheel.so trust use_uid
auth required /lib/security/$ISA/pam_wheel.so use_uid
Prima linie specifica faptul ca este suficient ca un user sa faca parte din grupul wheel pentru a deveni root. Acesta devine root fara a i se mai cere parola.
A doua linie specifica faptul ca doar userii care fac parte din grupul wheel vor putea deveni root. Alti useri chiar daca cunosc parola de root nu pot deveni root prin folosirea comenzii su.
Numai una dintre cele 2 linii poate sa apara in fisier. Pentru a comenta o linie se foloseste caracterul # (diez).
|
Important
Un principiu de baza in Linux este ca userul root nu trebuie folosit in mod curent. Administratorul trebuie sa se logheze folosind un user neprivilegiat iar in momentul in care are nevoie de executia unui task ce necesita drepturi de root, acesta "devine" root folosind comanda su. Altfel sunt introduse grave probleme de securitate care pot duce la rezultate distructive pentru intreg sistemul.
sudo reprezinta o alta modalitate de a executa comenzi cu drepturi de root fara a fi root sau a cunoaste parola de root necesara devenirii root folosind comanda su.
Modul de folosire al comenzii sudo este: sudo command
Commanda command este executata cu drepturi de root.
In Ubuntu doar userii care fac parte din grupul numit admin pot rula comenzi cu permisiuni de root folosind sudo. Initial doar userul care a fost creat la instalarea sistemului face parte din grupul admin.
Exemplu
|
Toate exemplele de mai jos sunt rulate de useri neprivilegiati dar cu drepturi de root
1. Instalarea unui program pe Ubuntu folosind apt-get
sudo apt-get install k3b
2. Configurarea parametrilor placii de retea precum IP si Network Mask
sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0
|
Nota
|
Modalitatea de a executa comenzi cu drepturi de root folosind sudo este folosita intensiv pe anumite distributii de Linux si mai putin pe altele. Distributiile bazate in mod intensiv pe folosirea comenzii sudo sunt cele derivate din Debian precum Ubuntu, Kubuntu, Knoppix etc. Pe alte distributii precum cele bazate de RedHat sau Slackware, Gentoo etc se obisnuieste rularea de comenzi cu drepturi de root dupa ce in prealabil userul neprivilegiat a devenit root folosind comanda su
|
Monitorizare useri
Aceasta sarcina a administratorului de sistem presupune monitorizarea logarilor in sistem sau vizualizarea userilor logati la un moment dat (prezent sau trecut).
Se folosesc urmatoarele comenzi:
1) who - afiseaza userii logati in sistem la momentul prezent.
Comanda afiseaza informatia sub forma tabelara in urmatorul mod:
username
|
terminalul de unde s-a logat
|
data logarii
|
Optiuni:
-H - afiseaza un header pentru a interpreta mai usor output-ul
-q - afiseaza nr. userilor logati
Exemplu
|
# who
stud
|
:0
|
2007-01-30 09:32
|
root
|
tty2
|
2007-01-30 11:35
|
dan
|
pts/0
|
2007-01-30 11:33 (:0.0)
|
dan
|
pts/1
|
2007-01-30 11:35 (:0.0)
|
|
Important
Comanda who afiseaza RUID adica userul logat initial in sistem.
2) w - afiseaza cine este logat in sistem si comanda curenta a fiecarui user.
Pe prima linie se afiseaza: data curenta, uptime, nr user logati si "system load" pt. ultimele 1, 5 si 15 minute.
Informatii despre userii logati se gasesc in fisierul /var/run/utmp (informatii despre utilizatorii logati in acel moment) si/var/log/wtmp (informatii despre istoria logarii in sistem)
3) last - afiseaza informatii din /var/log/wtmp in ordine cronologica inversa.
Logurile se rotesc periodic. Pentru a vizualiza inregistrarile dintr-un fisier wtmp mai vechi precum /var/log/wtmp.3 se foloseste optiunea -f
Exemplu: last -f /var/log/wtmp.3
Optiuni:
-n nr = nr. de linii afisate
nume_terminal = logarile de la terminalul specificat
Exemplu: last pts/2
4) lastlog - afiseaza inregistrarile din /var/log/lastlog (ultimele logari in sistem pentru fiecare user)
Optiuni:
-u user = lastlog doar pentru userul user
Dostları ilə paylaş: |