Android

Comanda Sudo în linux

Как добавить пользователя в sudoers. Команда sudo в Linux.

Как добавить пользователя в sudoers. Команда sudo в Linux.

Cuprins:

Anonim

Comanda sudo vă permite să rulați programe ca un alt utilizator, în mod implicit, utilizator root. Dacă petreci mult timp pe linia de comandă, sudo este una dintre comenzile pe care le vei utiliza destul de frecvent.

Utilizarea sudo în loc de conectare ca root este mai sigură, deoarece puteți acorda privilegii administrative limitate utilizatorilor individuali, fără ca aceștia să știe parola rădăcină.

În acest tutorial, vă vom explica cum să folosiți comanda sudo .

Instalarea Sudo (nu a fost găsită comanda sudo)

Pachetul sudo este preinstalat pe majoritatea distribuțiilor Linux.

Pentru a verifica dacă pachetul sudo este instalat pe sistemul dvs., deschideți consola, tastați sudo și apăsați Enter . Dacă aveți sudo instalat, sistemul va afișa un scurt mesaj de ajutor, altfel veți vedea ceva precum sudo command not found .

Dacă sudo nu este instalat, îl puteți instala cu ușurință folosind managerul de pachete al distro.

Instalați Sudo pe Ubuntu și Debian

apt install sudo

Instalați Sudo pe CentOS și Fedora

yum install sudo

Adăugarea utilizatorului la Sudoers

În mod implicit, la majoritatea distribuțiilor Linux care acordă acces sudo este la fel de simplu ca adăugarea utilizatorului la grupul sudo definit în fișierul sudoers . Membrii acestui grup vor putea rula orice comandă ca root. Numele grupului poate diferi de la distribuție la distribuție.

Pe distribuțiile bazate pe RedHat, cum ar fi CentOS și Fedora, numele grupului sudo este wheel . Pentru a adăuga utilizatorul la rularea grupului:

usermod -aG wheel username

Pe Debian, Ubuntu și instrumentele derivate ale acestora, membrii grupului sudo beneficiază de acces sudo:

usermod -aG sudo username

Contul utilizator rădăcină din Ubuntu este dezactivat implicit din motive de securitate, iar utilizatorii sunt încurajați să efectueze sarcina administrativă a sistemului folosind sudo. Utilizatorul inițial creat de programul de instalare Ubuntu este deja membru al grupului sudo, astfel încât dacă executați Ubuntu șansele sunt ca utilizatorul la care sunteți autentificat, deoarece este deja acordat cu privilegiile sudo.

De exemplu, pentru a permite utilizatorului linuxize să ruleze numai comanda mkdir ca sudo, tastați:

sudo visudo

și adăugați următoarea linie:

linuxize ALL=/bin/mkdir

În majoritatea sistemelor, comanda visudo deschide /etc/sudoers cu editorul de text vim. Dacă nu aveți experiență cu vim, consultați articolul nostru despre cum puteți salva un fișier și renunțați la editorul vim.

De asemenea, puteți permite utilizatorilor să ruleze comenzi sudo fără a introduce parola:

linuxize ALL=(ALL) NOPASSWD: ALL

Cum se utilizează Sudo

Sintaxa pentru comanda sudo este următoarea:

sudo OPTION.. COMMAND

Comanda sudo are multe opțiuni care își controlează comportamentul, dar de obicei sudo este utilizată în forma sa cea mai de bază, fără nicio opțiune.

Pentru a utiliza sudo, pur și simplu prefixați comanda cu sudo :

sudo command

Unde command este comanda pentru care doriți să utilizați sudo.

Sudo va citi /etc/sudoers și va verifica dacă utilizatorul care invocă este acordat cu sudo evaluare. Prima dată când utilizați sudo într-o sesiune, vi se va solicita să introduceți parola utilizatorului și comanda va fi executată ca root.

De exemplu, pentru a enumera toate fișierele din directorul /root care le-ați folosi:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Timeout pentru parolă

În mod implicit, sudo vă va cere să introduceți din nou parola după cinci minute de inactivitate sudo. Puteți modifica timpul de sudoers implicit editând fișierul sudoers . Deschideți fișierul cu visudo :

sudo visudo

Setați timpul de expunere implicit adăugând linia de mai jos, unde 10 este perioada de timp specificată în minute:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Rulați o comandă ca un alt utilizator decât Root

Există o percepție greșită conform căreia sudo este utilizat doar pentru a furniza permisiunile root unui utilizator obișnuit. De fapt, puteți utiliza sudo pentru a rula o comandă ca orice utilizator.

Opțiunea -u vă permite să rulați o comandă ca utilizator specificat.

În următorul exemplu, folosim sudo pentru a rula comanda whoami ca utilizator "richard":

sudo -u richard whoami

Comanda whoami va tipări numele utilizatorului care rulează comanda:

richard

Cum să redirecționați cu Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

Acest lucru se întâmplă deoarece redirecționarea „ > ” a ieșirii se efectuează sub utilizatorul conectat, nu utilizatorul specificat de sudo. Redirecționarea are loc înainte de sudo comenzii sudo .

O soluție este să invocați un nou shell ca rădăcină folosind sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

O altă opțiune este să conectați ieșirea ca utilizator obișnuit la comanda tee așa cum se arată mai jos:

echo "test" | sudo tee /root/file.txt

Concluzie

Ați învățat cum să folosiți comanda sudo și cum să creați noi utilizatori cu privilegii sudo.

sudo terminal