sudo ( S superior ÎN fi DO ) în Linux este folosită în general ca prefix pentru unele comenzi pe care numai superutilizatorii au voie să le execute. Dacă prefixați orice comandă cu sudo, aceasta va rula acea comandă cu privilegii ridicate sau, cu alte cuvinte, va permite unui utilizator cu permisiunile corespunzătoare să execute o comandă ca alt utilizator, cum ar fi superutilizatorul. Acesta este echivalentul opțiunii de rulare ca administrator în Windows. Opțiunea sudo ne permite să avem mai mulți administratori.
Acești utilizatori care pot folosi sudo comanda trebuie să aibă o intrare în sudoeri fişier aflat la /etc/sudoers . Amintiți-vă că pentru a edita sau vizualiza fișierul sudoers trebuie să utilizați comanda sudo. Pentru a edita fișierul sudoers este recomandat să folosiți comanda visudo.
În mod implicit, sudo cere ca utilizatorii să se autentifice cu o parolă care este parola utilizatorului, nu parola root în sine.
Sintaxa pentru comanda sudo:
sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command>
Opțiuni disponibile în comanda sudo
| Opțiuni | Descriere | Sintaxă |
|---|---|---|
| -ÎN | Opțiunea -V (versiune) face ca sudo să imprime numărul versiunii și să iasă. Dacă utilizatorul care invocă este deja root, opțiunea -V va tipări o listă cu valorile implicite cu care a fost compilat sudo. | sudo -V> |
| -l | Opțiunea -l (listă) va tipări comenzile permise (și interzise) utilizatorului pe gazda curentă. | sudo -l> |
| -h sau –ajutor | Opțiunea -h (ajutor) face ca sudo să imprime un mesaj de utilizare și să iasă. | sudo -h> |
| -în | Dacă, având în vedere opțiunea -v (validare), sudo va actualiza marcajul de timp al utilizatorului, solicitând parola utilizatorului, dacă este necesar. Aceasta prelungește timpul de expirare sudo cu încă 5 minute (sau așa cum este indicat în sudoers), dar nu rulează o comandă. Acest lucru nu dă nicio ieșire. | sudo -v> |
| -k | Opțiunea -k (kill) pentru sudo invalidează marcajul de timp al utilizatorului. Deci, data viitoare când se rulează sudo, va fi necesară o parolă. Această opțiune nu necesită o parolă și a fost adăugată pentru a permite unui utilizator să revoce permisiunile sudo dintr-un fișier de deconectare. | sudo -k> |
| -K | Similar cu opțiunea -k, opțiunea -K (omorâre sigură) este folosită pentru a elimina complet marcajul de timp al utilizatorului. De asemenea, această opțiune nu necesită o parolă. | sudo -K> |
| -b | Opțiunea -b (în fundal) îi spune sudo să ruleze comanda dată în fundal. Rețineți că dacă utilizați opțiunea -b nu puteți utiliza shell controlul locului de muncă pentru a manipula procesul. | sudo -b [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| -p | comanda sudo -p prompt vă permite să personalizați promptul de parolă pe care sudo îl afișează atunci când solicită parola utilizatorului. În mod implicit, sudo va afișa o solicitare de parolă generică care arată ca | sudo -p 'Enter your password' [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) dacă altceva în java |
| -n | Opțiunea -n permite sudo să execute o comandă fără a cere o parolă. Această opțiune este utilă atunci când rulați comenzi sudo ca lucrări de fundal sau într-un script shell. Opțiunea -n înseamnă non-interactiv. | sudo -n [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| -în | Opțiunea -u determină sudo să ruleze comanda specificată ca alt utilizator decât root. Pentru a specifica un UID în loc de un nume de utilizator, utilizați #uid. | sudo -u [user] [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| -s | Opțiunea -s rulează shell-ul specificat de variabila de mediu SHELL dacă este setată sau shell-ul așa cum este specificat în fișierul passwd. | sudo -s [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| -H | Opțiunea -H setează variabila de mediu HOME în directorul principal al utilizatorului țintă (rădăcină în mod implicit), așa cum este specificat în passwd. Implicit, sudo nu modifică HOME. | sudo -H [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| -S | Opțiunea -S determină sudo să citească parola de la intrarea standard în loc de dispozitivul terminal. | sudo -S [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| -A | Opțiunea -a determină sudo să folosească tipul de autentificare specificat la validarea utilizatorului, așa cum este permis de /etc/login.conf. Administratorul de sistem poate specifica o listă de metode de autentificare specifice sudo adăugând o intrare auth-sudo în /etc/login.conf. | sudo -a [auth-type] [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) |
| — | Indicatorul — indică faptul că sudo ar trebui să oprească procesarea argumentelor liniei de comandă. Este cel mai util în combinație cu steag-ul -s. | sudo -- [command]> (înlocuiți comanda cu comanda pe care doriți să o rulați în fundal) java sortarea unei liste de matrice |
Ieșirea câtorva comenzi
1. -V: Opțiunea -V (versiune) face ca sudo să imprime numărul versiunii și să iasă. Dacă utilizatorul care invocă este deja root, opțiunea -V va tipări o listă cu valorile implicite cu care a fost compilat sudo.
sudo -V
2. -l: Opțiunea -l (listă) va tipări comenzile permise (și interzise) utilizatorului pe gazda curentă.
sudo -l
sistem expert
3. -h sau –ajutor: Opțiunea -h (ajutor) face ca sudo să imprime un mesaj de utilizare și să iasă.
sudo -h
variabile de mediu
Aceste variabile de mediu sunt folosite de sudo
| Etichetă | Descriere |
|---|---|
| EDITOR | Editor prestabilit de utilizat -Este (sudoedit) dacă VISUAL nu este setat |
| ACASĂ | În -s sau -H modul (sau dacă sudo a fost configurat cu Opțiunea –enable-shell-sets-home), setată la homedir al utilizatorului țintă |
| CALE | Setați la o valoare corectă dacă cale_securizată opțiunea sudoers este setată. |
| COAJĂ | Folosit pentru a determina shell-ul să ruleze cu opțiunea -s |
| SUDO_PROMPT | Folosit ca promptare implicită a parolei |
| SUDO_COMMAND | Setați la comanda rulată de sudo |
| SUDO_USER | Setați la autentificarea utilizatorului care a invocat sudo |
| SUDO_UID | Setați la uid-ul utilizatorului care a invocat sudo |
| SUDO_GID | Setați la gid-ul utilizatorului care a invocat sudo |
| SOUTH_PS1 | Dacă este setat, PS1 va fi setat la valoarea sa |
| UTILIZATOR | Setați la utilizatorul țintă (rădăcină, cu excepția cazului în care -în este specificată opțiunea) |
| VIZUAL | Editor prestabilit de utilizat -Este (sudoedit) mod |
Comanda sudo în Linux – Întrebări frecvente
Ce este `sudo` în Linux?
Sudo este o comandă în Linux care permite utilizatorilor să ruleze comenzi cu privilegii pe care le au numai utilizatorii root. Ajută utilizatorii să facă sarcini cu putere administrativă fără a se conecta ca utilizator root, deși uneori poate fi riscant.
Ce comenzi Linux au nevoie de privilegii `sudo`?
Există multe comenzi Linux care sunt necesare pentru a fi executate cu privilegii sudo, cum ar fi comenzile de rețea, comenzile de gestionare a pachetelor și comenzile la nivel de sistem. De exemplu, comenzile care necesită privilegii sudo pentru a rula sunt `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` și `ifconfig`.
Ce pot rula cu sudo?
Există multe comenzi Linux care necesită privilegii sudo pentru a rula, dar trebuie să vă amintiți să le utilizați cu precauție, deoarece pot modifica configurațiile și fișierele critice ale sistemului. Pentru a evita consecințele, ar trebui să verificăm de două ori înainte de a rula comenzi. Comenzi precum:
prinde și încearcă java
- Instalarea unui pachet nou: `sudo apt-get install package_name`
- Actualizarea sistemului: `sudo apt-get update && sudo apt-get upgrade`
- Modificarea configurațiilor sistemului: `sudo nano /etc/fstab`
- Pornirea unui serviciu de sistem: `sudo systemctl start service_name`
- Oprirea unui serviciu de sistem: `sudo systemctl stop service_name`
- Crearea unui nou cont de utilizator: `sudo useradd username`
- Modificarea permisiunilor pentru fișiere: `sudo chmod 755 nume_fișier`
Care este diferența dintre comanda su și sudo în Linux?
În Linux, comanda su (switch user) le permite utilizatorilor să se conecteze ca alt utilizator, adesea utilizator root, și să acceseze fișierele și setările lor. În schimb, comanda sudo permite utilizatorilor să ruleze anumite comenzi cu privilegii sporite fără a se conecta ca utilizator root. Sudo este o metodă mai sigură de acordare a privilegiilor temporare de root utilizatorilor.
Cum acord și accept utilizatorului acces sudo în Linux?
În Linux putem acorda sau prelua accesul `sudo` adăugând sau eliminând numele de utilizator din fișierul numit `sudores`. Pentru a adăuga numele de utilizator la sudoers, trebuie să rulăm comanda `sudo visudo` și să edităm fișierul și să adăugăm linia care va oferi acces utilizatorului. De exemplu: username ALL=(ALL:ALL) ALL oferă utilizatorului acces complet la comanda sudo.
Și putem dezactiva accesul sudo al unui utilizator utilizând aceeași comandă sudo visudo care va fi folosită pentru a edita fișierul sudoers și pentru a elimina linia care le oferă acces sudo. Odată ce linia este ștearsă, utilizatorul nu va mai putea folosi comanda sudo pentru a executa comenzi privilegiate.
Concluzie
În Linux,sudo>comanda acționează ca o cheie magică care deblochează puteri speciale, permițându-vă să faceți sarcini importante pe care, de obicei, doar superutilizatorul le poate face. Este o modalitate de a cere permisiunea de a executa comenzi cu privilegii ridicate, cum ar fi instalarea de software sau modificarea setărilor sistemului. Să utilizațisudo>înainte de o comandă pentru a arăta că aveți permisiunea să o rulați ca superutilizator. A folosisudo>, de obicei trebuie să tastați propria parolă pentru a dovedi că chiar tu o faci, nu altcineva. Tine minte,sudo>este puternic, așa că folosește-l cu grijă! Poate schimba lucruri importante pe computer. Prin înțelegeresudo>și opțiunile sale, puteți utiliza Linux mai eficient și mai sigur.