Avanti Indietro Indice

7. Cambiare l'ID dell'utente

7.1 su

Il comando su serve per cambiare l'id dell'utente. Se non è specificato nessun id per argomento, viene usato root.

Normalmente su invoca una subshell come login shell con un user id differente e con argomento '-' (sinonimi più recenti sono -l o --login). Tuttavia esso non fa uso del programma login per fare ciò ed utilizza ancora un altro PATH differente per "simulare" il login. Questo PATH è:

per utenti normali

/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:. 
per l'utente root
/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin

su apporta molti altri cambiamenti complessi all'ambiente.

7.2 sudo

Esiste un gruppo di comandi che fa uso dei comandi del super utente in maniera più sicura. Questi prevedono un miglior meccanismo di login, restrizioni basate sull'identità dell'utente e l'uso di password individuali. Il più usato è sudo.

$ sudo env

esegue il comando env come super utente (se è configurato per permetterlo).

Il comando sudo ha ancora un altro approccio diverso alla gestione di PATH. Esso modifica la strategia di ricerca nei percorsi facendo in modo che la directory corrente sia sempre esaminata per ultima. Comunque non modifica la variabile PATH in sé. "sudo env" e "env" restituiscono lo stesso valore per la variabile PATH. Sudo aggiunge solo un paio di variabili d'ambiente come SUDO_USER.


Avanti Indietro Indice