table of contents
SU(1) | Comandi utente | SU(1) |
NOME¶
su - cambia ID utente o diventa amministratore
SINOSSI¶
su [opzioni] [nome]
DESCRIZIONE¶
su permette di diventare un altro utente durante una sessione di login. Se nessun nome utente viene specificato, su acquisice i privilegi di amministratore. L'opzione - può essere usata per fornire un ambiente simile a quello che l'utente troverebbe se effettuasse il login direttamente.
Dopo il nome utente, è possibile specificare argomenti aggiuntivi da passare alla shell di login dell'utente. In particolare, molti interpreti di comando adottano la convenzione per cui l'opzione -c seguita da un argomento fa sì che quest'ultimo sia considerato un comando. Il comando viene eseguito dalla shell specificata in /etc/passwd per l'utente di destinazione.
Si può utilizzare -- per separare le opzioni di su dagli argomenti passati alla shell.
All'utente viene quindi chiesta la password, se necessario. Una password errata viene segnalata da un messaggio d'errore. Viene effettuato il log di tutti i tentativi, siano essi riusciti o meno, al fine di rilevare ogni abuso del sistema.
Le variabili d'ambiente in uso vengono passate alla nuova shell, eccetto il valore di $PATH che viene impostato a /bin:/usr/bin per gli utenti qualsiasi e a /sbin:/bin:/usr/sbin:/usr/bin per l'amministratore. Questa impostazione è controllata dalle definizioni ENV_PATH ed ENV_SUPATH in /etc/login.defs.
Un sottosistema di login è indicato dalla presenza del carattere «*» all'inizio della shell di login. La directory home impostata sarà utilizzata come root di un nuovo file system al quale l'utente accede.
OPZIONI¶
Il comando su accetta le seguenti opzioni:
-c, --command COMANDO
The executed command will have no controlling terminal. This option cannot be used to execute interactive programs which need a controlling TTY.
-, -l, --login
When - is used, it must be specified before any username. For portability it is recommended to use it as last option, before any username. The other forms (-l and --login) do not have this restriction.
-s, --shell SHELL
La shell invocata viene scelta da (in ordine di priorità):
Se l'utente target ha una shell con restrizioni (cioè se la sua shell presente in /etc/passwd non è presente in /etc/shells), allora l'opzione --shell e la variabile d'ambiente $SHELL non vengono prese in considerazione a meno che su sia invocato da root.
-m, -p, --preserve-environment
$PATH
$IFS
Se l'utente target ha una shell con restrizioni, questa opzione non ha effetto (a meno che su sia invocato da root).
Notare che il comportamento predefinito per l'ambiente è il seguente:
AVVISI/CAVEAT¶
Questa versione di su ha molte opzioni di compilazione; solo una parte di esse potrebbe essere in uso su un determinato sistema.
CONFIGURAZIONE¶
Le seguenti variabili di configurazione in /etc/login.defs cambiano il comportamento di questo strumento:
CONSOLE_GROUPS (testo)
Usare con cautela - è possibile che gli utenti ottengano l'accesso permanente a questi gruppi anche se non accedono dalla console.
DEFAULT_HOME (booleano)
Se impostato a yes, l'utente accederà alla directory root (/) nel caso che non sia possibile accedere alla propria directory home.
ENV_PATH (testo)
ENV_SUPATH (testo)
SULOG_FILE (testo)
SU_NAME (testo)
SYSLOG_SU_ENAB (booleano)
FILE¶
/etc/passwd
/etc/shadow
/etc/login.defs
VALORI RESTITUITI¶
In caso di successo, il valore restituito da su è quello del comando da esso eseguito.
Se questo comando è terminato da un segnale, su restituisce il numero del segnale più 128.
Se «su» deve terminare il comando (perché gli è stato chiesto di terminare ma il comando non è terminato in tempo), su restituisce 255.
Alcuni dei codici d'uscita di su sono indipendenti dal comando eseguito:
0
1
126
127
VEDERE ANCHE¶
27/09/2017 | shadow-utils 4.5 |