su (abbreviazione dalla lingua inglese di substitute user, sostituisci utente) è un comando dei sistemi operativi Unix, Unix-like e Linux che permette di avviare una shell testuale assumendo l'identità di un altro utente del sistema. La shell avviata è quella predefinita per l'utente di cui si assume l'identità, ed è possibile passarle parametri per farle ad esempio eseguire direttamente un comando, che a questo punto sarà eseguito con la nuova identità.
su viene tipicamente usato da utenti non privilegiati per avviare una shell nei panni di root, e da root per avviare una shell nei panni di utenti ordinari.
Normalmente su richiede di effettuare un'autenticazione con le credenziali dell'utente di cui si vuole assumere l'identità. Ciò non è richiesto quando su viene eseguito dall'utente root.
Su alcuni sistemi (non GNU/Linux[1], anche se tecnicamente possibile[2]) solo gli utenti che appartengono al gruppo speciale wheel possono assumere l'identità di root tramite il comando su.
In systemd il comando su è stato sostituito da machinectl shell.[3]