Su (Unix)

comando dei sistemi operativi Unix e Unix-like
Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è su.

su (da switch user o substitute user) è un comando dei sistemi Unix e Unix-like che avvia una shell testuale (e opzionalmente altri comandi) impersonando altri utenti.

Viene tipicamente usato da utenti non privilegiati per avviare una shell nei panni di root, e dall'utente root per avviare una shell nei panni di utenti ordinari.

Normalmente su richiede di effettuare un'autenticazione con le credenziali dell'utente che si vuole impersonare, tranne quando viene avviato dall'utente root.

Uso

La sintassi tipica di su è la seguente:

 su [-] [utente] [-c comando]
  • utente specifica il nome dell'utente che si desidera impersonare. Se omesso si assume sia root.
  • Specificando il segno meno "-" si indica di avviare una shell di login, che offre un ambiente sostanzialmente identico a quello che si otterrebbe effettuando il login testuale nei panni dell'utente da impersonare (ad esempio la directory corrente diventa quella dell'utente impersonato). Non specificandolo si ottiene invece un ambiente che in parte deriva da quello corrente.
  • Con l'opzione -c è possibile specificare una riga di comando da far eseguire alla nuova shell, di fatto permettendo l'avvio diretto di altri programmi.

Esempi

Un utente non privilegiato può avviare una shell come root:

 su -

Un utente non privilegiato può eseguire direttamente un comando come root:

 su -c "mkdir /opt/esempio"

L'utente root avvia una shell nei panni dell'utente non privilegiato alice:

 su - alice

Voci correlate

  • sudo (esegue comandi nei panni di altri utenti)
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica