Privilegi di amministrazione

I privilegi di amministratore permettono di svolgere qualsiasi operazione nel sistema. E su sistemi operativi Unix e Unix-like, come lo è GNU/Linux e quindi Debian, questi privilegi sono assegnati tradizionalmente all'utente root (radice).

È altamente sconsigliato accedere al sistema come tale utente per effettuare attività ordinarie, per via dei privilegi associati. Pertanto andrebbe utilizzato esclusivamente per lo stretto necessario a svolgere attività di amministrazione, quali per esempio l'installazione, l'aggiornamento o la rimozione di software tramite APT, o per cambiare i file di configurazione del sistema.


Una volta effettuato il login con il proprio utente non privilegiato, il metodo classico su Debian per poter diventare root ed avere quindi la possibilità di svolgere operazioni di amministrazione, è quello di eseguire il comando:

su -

Verrà richiesta la password di root e sarà eseguito l’accesso.

Noterete che il prompt della shell è cambiato, passando da:

$

(che identifica un utente normale) (alcune shell come zsh però utilizzano il simbolo % al posto di $)
a:

#

(che identifica sempre l'utente root)

Per essere precisi è stata avviata una nuova shell di login, e le è stato assegnato il controllo della console virtuale o del terminale (all'interno di una sessione grafica) utilizzato.

Per ritornare utenti normali è necessario terminare la shell, così che il controllo ritorni a quella che si utilizzava precedentemente, con i soli privilegi di utente. Quindi basta digitare il comando:

exit

oppure ancora più velocemente premere CTRL-d.

Nei comandi riportati in tutta questa Wiki, e in generale nella documentazione di tutti i sistemi Unix, il prompt è riportato prima di ogni comando da digitare per indicare se richiede o meno i privilegi di amministratore.


Un'altra possibilità è effettuare un login come root per lo stretto necessario a eseguire i comandi che richiedono i privilegi di amministratore. È sconsigliato da interfaccia grafica, per via dell'elevato numero di applicazioni che riceverebbero tali privilegi.

Si può invece passare a una console virtuale non utilizzata (per esempio /dev/tty1), effettuare il login come root, eseguire i soli comandi per cui sono necessari i privilegi di amministratore e poi effetuare subito dopo il logout, ritornando alla propria console virtuale o comunque a quella utilizzata dal server grafico.

Per esempio, ecco la procedura per passi:

  • digitare Ctrl-Alt-F1 per passare a tty1;
  • inviare la combinazione SysRq+K digitando Alt-R Sist-k (oppure Alt-Stamp-k) per generare una nuova console sicura, terminando tutte le eventuali applicazioni collegate;
  • effettuare il login con root e la password corrispondente;
  • digitare i comandi che richiedono privilegi di amministrazione, e soltanto quelli (non usare la shell per altre attività!);
  • uscire con exit per terminare la shell;
  • digitare Alt-Freccia destra per passare alla console successiva, e ripetere fino a tornare a quella di partenza.

Questo metodo, anche se molto più laborioso degli altri, è l'unico sicuro se l'account dell'utente utilizzato per su o sudo è stato compromesso, e ha il vantaggio di appoggiarsi unicamente sulla sicurezza del sistema.


Come ultima alternativa, è possibile anche ricorrere a sudo, che di default chiede la propria password anziché quella dell'utente root. Solitamente, dopo averlo installato e configurato, si scrive sudo prima di ogni comando da eseguire come amministratore.
Per esempio:

$ whoami

restituisce il proprio nome utente, ma:

$ sudo whoami

restituisce "root", ed è equivalente a:

$ su -
# whoami
# exit