sudo în Linux / Bash

Execută o comandă cu drepturile depline ale administratorului (root) sau ale altui utilizator.

Sintaxă comandă
sudo [opțiuni] comandă [argumente...]

Ce face sudo

Numele sudo provine de la superuser do. Permite unui utilizator autorizat (definit în fișierul /etc/sudoers) să ruleze comenzi administrative cu propria parolă, fără a cunoaște parola contului de root.

Toate comenzile rulate prin sudo sunt înregistrate în jurnalele de securitate ale sistemului pentru auditare.

Opțiuni și argumente

Opțiune / Parametru Descriere
-i, --login Deschide un shell de login complet ca root, încărcând mediul administratorului.
-u UTILIZATOR Rulează comanda ca utilizatorul specificat, nu neapărat ca root (ex. sudo -u postgres psql).
-s, --shell Lansează shell-ul specificat în variabila SHELL sau shell-ul implicit.
-k, --reset-timestamp Invalidează acreditările memorate în cache, cerând parola la următoarea comandă.

Exemple

Exemplul 1: Actualizarea listei de pachete pe Ubuntu/Debian

Comanda apt necesită privilegii root pentru a scrie în directoarele de sistem.

sudo apt update

Ieșire în terminal

[sudo] password for ana: 
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
All packages are up to date.

Greșeli frecvente

  • Lăsarea terminalului nesupravegheat după rularea unei comenzi sudo (implicit parola este ținută minte în cache timp de 15 minute).
  • Editarea directă a fișierului /etc/sudoers cu un editor obișnuit în loc de sudo visudo (care verifică sintaxa înainte de salvare și previne blocarea contului root).

Comenzi înrudite

  • su: Comută sesiunea curentă de terminal pe alt utilizator sau deschide un shell ca root.
  • whoami: Afișează numele de utilizator efectiv asociat sesiunii curente de terminal.
  • passwd: Modifică parola de acces a contului de utilizator curent sau a altui cont.