1. Folosind comanda: su
Multe comenzi pot fi conduse numai de superuser, deci trebuie să știm cum devine (rădăcină). Pentru a face acest lucru, putem folosi comanda: su (schimbarea utilizatorului). Comanda su acceptă următoarele formate:
dar cel mai adesea vom folosi su pentru a deveni un utilizator root:
dacă numele de utilizator nu este specificat în linie, atunci utilizatorul root este așteptat automat, astfel încât comanda poate fi redusă:
dar ambele echipe se comportă diferit. „su
Adesea, utilizatorii folosesc "su" pentru a comuta la root. Când încercați să executați o comandă (de exemplu - ifconfig), obțineți: eroare "comanda nu a fost găsită".
Motivul este că utilizatorii obișnuiți ai sistemului, iar utilizatorul rădăcină au diferite variabile de mediu PATH (cale, puteți vedea utilizatorul prin intermediul «echo $ PATH). După ce ați introdus comanda Linux, shell-ul va căuta un PATH personalizat pentru a încerca să găsească comanda pentru a începe. Începe o căutare în fiecare director specificat în PATH până când obiectivul este găsit.
Comenzile utilizatorilor obișnuiți sunt de obicei localizate în / usr / local / bin, / usr / bin și / bin. Un utilizator comenzile de root sunt plasate în primul rând în / sbin, / usr / sbin, / sbin și rădăcină cale locală / usr / reflectă acest lucru. Prin urmare, când deveniți superuser cu "su", acceptați și noua cale PATH la comenzile principale. Și folosind doar „su“, utilizatorul este salvat calea implicită a PATH, prin urmare, atunci când încercați să executați un program situat în / usr / local / sbin, / usr / sbin / sbin va da rezultatul: „comanda nu a fost găsit“ eroare. Pentru o explicație mai detaliată, consultați pagina pentru bărbați bash, în special secțiunea cochilii de autentificare.
Astfel, fie trebuie să specificați calea completă a comenzii (de exemplu - / sbin / ifconfig), folosind „su“, sau de a folosi „su -“, atunci când deveniți root-ohm.
2. Folosind sudo
Nu este nevoie să fiți superuser ori de câte ori doriți să executați anumite funcții administrative specifice. Mulțumesc lui Sudo. puteți rula unele sau toate comenzile ca root. Când este instalat Sudo (pachet: Sudo), îl puteți configura cu comanda "visudo" ca root. În principiu, modifică (Vim implicit) / etc / sudoers, dar nu este recomandat să o faceți manual.
Deci, modul rapid și nerecomandat de a utiliza Sudo este de a adăuga sudoers la sfârșitul fișierului:
Alex este numele de utilizator. Salvați (apăsați pe Escape, apoi introduceți wq) și ați terminat. Conectați-vă ca alex și rulați, de exemplu:
Sudo va cere parola. Aceasta este parola de tip alex, nu utilizatorul root. Așadar, aveți grijă când acordați drepturile utilizatorilor cu Sudo.
Dar Sudo nu poate doar acest lucru, dar mult mai mult. Putem permite unui utilizator sau unui grup de utilizatori să execute o singură comandă sau grup de comenzi. Să ne întoarcem la dosarul nostru sudo. Să începem cu alex și alisa, membri ai grupului de administratori. Dacă vrem ca toți utilizatorii din grupul "administrator" să poată rula fiecare comandă ca superuser, trebuie să ne schimbăm exemplul:
Alex poate, de asemenea, să conducă o echipă de superuseri, iar alisa are dreptul să ruleze Sudo, cu aceleași drepturi și parolă. Dacă alex și alisa nu sunt membri ai aceluiași grup, putem defini aliasul utilizatorului în fișierul sudoers:
Aici am definit un alias numit ADMINS, cu membri alisa și alex.
Cu toate acestea, nu vrem ca Alex și Alisa să ruleze orice program cu drepturi de superuser. Vrem ca ei să ruleze doar "updateb". Să definim aliasul comenzii:
Dar acest lucru nu este de ajuns! Trebuie să-i spunem lui Sudo că utilizatorii definiți ca ADMINS pot rula comenzile specificate în LOCATE. Pentru a face acest lucru, vom înlocui liniile cu "% admin" cu următoarele:
Acest lucru înseamnă că utilizatorii care se află în alias ADMINS pot rula toate comenzile din aliasul LOCATE.
De data aceasta, / etc / sudoers arata astfel:
Ca rezultat, alex și alisa pot rula updateb, ca root, prin introducerea parolei.
Dacă ultima linie din fișier este modificată:
atunci alex și alisa pot efectua 'sudo updatedb' fără a introduce o parolă.
Puteți adăuga alte comenzi la aliasul de comandă și alte pseudonime în regulă. De exemplu, putem crea un alias NETWORKING care conține câteva comenzi de rețea de tip: ifconfig, route sau iwconfig:
Să adăugăm toate acestea fișierului nostru / etc / sudoers (folosind visudo!). De asemenea, oferim grupului nostru ADMINS dreptul de a executa programe și din alias NETWORKING:
Un proces mic: intrați ca alisa (sau alex) și tastați:
Răspunsul trebuie să revină repede:
Acum, prea - dar cu Sudo:
Sudo este adesea folosit pentru a oferi anumitor utilizatori acces parțial la comenzi privilegiate, astfel încât să poată efectua funcții administrative limitate. Unul dintre avantajele lui Sudo este că toate comenzile sunt scrise în / var / log / secure. Exemplul de mai sus va fi descris printr-o linie din jurnal:
Asta e tot. Acum nu voi uita niciodată, când am folosit Sudo: "cu mare putere vine o mare responsabilitate".
2.1 Coajă Sudo
Dacă aveți drepturi suficiente în sudori, puteți deschide și shell-ul rădăcină al shell-ului folosind:
În cele mai recente versiuni numai pe CentOS 5, pentru a rula shell-ul ca root, se folosește sudo -s. Fiți foarte atenți, deoarece aceasta poate schimba sau crea fișiere noi în directorul de domiciliu Root și îl puteți instala în directorul de domiciliu al utilizatorului care a sunat.
3. consolehelper
De exemplu, să configurați / usr / bin / xterm pentru a rula ca root.
În primul rând, dorim să păstrăm capacitatea de a rula Xterm sub utilizatorul normal. Prin urmare, creați o legătură simbolică / usr / bin / xterm-root pentru / usr / sbin / consolehelper:
Acum, pentru a configura PAM - creați fișierul /etc/pam.d/xterm-root:
În cele din urmă, configurați consolehelper pentru a porni / usr / bin / xterm ca root, folosind comanda 'xterm-root'. Creați fișierul /etc/security/console.apps/xterm-root:
Asta e tot. Rulați "xterm-root" (din linia de comandă sau din fișierul .desktop rapid), introduceți parola și în cale. Dacă primiți un mesaj de eroare: "Xlib: connecttion to": 0.0 "refuzat de server", executați mai întâi "xhost local: root".
Instalarea și configurarea lui sudo în CentOS
După instalarea CentOS, în sistem este prezent doar utilizatorul rădăcină, a cărui utilizare este nedorită din motive de securitate. Pentru a asigura serverul, trebuie să creați un utilizator obișnuit, care, dacă este necesar, ar putea crește autoritatea acestuia la nivelul superuserului. Utilizarea comenzii sudo vă permite să faceți acest lucru păstrând secretul parolei superuserului.
Mai întâi, trebuie să instalați pachetul sudo, disponibil în arhivele centrale CentOS.