su (Italiano)

Stato della traduzione
Questo articolo è la versione tradotta di
Su
. Data dell'ultima traduzione: 2026-02-28. Se ci sono
cambiamenti
nella versione inglese, è possibile dare una mano a sincronizzarne la traduzione.
Articoli correlati
Utenti e gruppi
sudo
List of applications/Security#Privilege elevation
La
core utility
su
(substitute user) viene usata per assumere l'identità di un altro utente sul sistema, root per impostazione predefinita.
Consultare
PAM
per le modalità di configurazione del comportamento di
su
.
Installazione
su
fa parte del pacchetto
util-linux
.
Suggerimento
sudo-rs
fornisce
su-rs(1)
, un'implementazione di
su
alternativa e sicura per la memoria.
Uso
Per assumere l'identità di un altro utente, passare a
su
il nome utente che si desidera diventare:
$ su
nomeutente
Per impostazione predefinita, quando eseguito come utente regolare, verrà richiesta la password dell'utente che si sta tentando di diventare. Quando si esegue
su
come root, non è richiesta alcuna password.
Se non viene passato alcun nome utente,
su
assume che si voglia diventare utente root e la password richiesta sarà quella di root.
Per ulteriori informazioni, si veda
su(1)
.
Suggerimenti e trucchi
Shell di login
Il comportamento predefinito di
su
è di rimanere all'interno della directory corrente e di mantenere le variabili d'ambiente dell'utente originale (anziché passare a quelle del nuovo utente).
Si notino le seguenti importanti considerazioni contrastanti:
A volte può essere vantaggioso per un amministratore di sistema utilizzare l'account shell di un utente ordinario piuttosto che il proprio. In particolare, occasionalmente il modo più efficiente per risolvere il problema di un utente è accedere all'account di quell'utente per riprodurre o sottoporre a debug il problema.
Tuttavia, in molte situazioni non è auspicabile, o può persino essere pericoloso, che l'utente root operi dall'account shell di un utente ordinario e con le variabili ambientali di quell'account piuttosto che dalle proprie. Mentre utilizza inavvertitamente l'account shell di un utente ordinario, root potrebbe installare un programma o apportare altre modifiche al sistema che non avrebbero lo stesso risultato se effettuate utilizzando l'account root. Ad esempio, potrebbe essere installato un programma che potrebbe dare all'utente ordinario il potere di danneggiare accidentalmente il sistema o ottenere l'accesso non autorizzato a determinati dati.
Pertanto, si consiglia agli utenti amministrativi, così come a qualsiasi altro utente autorizzato a usare
su
(e si suggerisce che ce ne siano pochissimi, se non nessuno), di acquisire l'abitudine di eseguire sempre il comando
su
con l'opzione
-l
/
--login
. Questa ha due effetti:
Passa dalla directory corrente alla home directory del nuovo utente (ad esempio, a
/root
nel caso dell'utente root) effettuando il
login
come quell'utente.
Cambia le variabili ambientali con quelle del nuovo utente, come dettato dalle impostazioni della sua shell preferita. Come il loro
~/.bashrc
, e possibilmente altri file "dot", per una shell
bash
. Cioè, la directory corrente e l'ambiente verranno modificati in ciò che ci si aspetterebbe se il nuovo utente avesse effettivamente effettuato l'accesso a una nuova sessione (piuttosto che limitarsi a subentrare in una sessione esistente).
Pertanto gli amministratori dovrebbero generalmente usare
su
come segue:
$ su -l
Un risultato identico si ottiene aggiungendo il nome utente root:
$ su -l root
Lo stesso può essere fatto per qualsiasi altro utente (ad esempio per un utente di nome archie):
su -l archie
Per accedere a un utente senza password, accedere prima come root e poi accedere all'account utente senza password dalla shell di root:
$ su -l
# runuser -l archie
Nota
Non c'è bisogno di usare
su
quando si è già privilegiati.
runuser
in questi casi è una scelta migliore che evita un altro livello di processo
setuid
. Per i dettagli, fare riferimento a
su(1)
.
Suggerimento
A volte si incontrerà
su
usato per ottenere una shell di login con
su -
, invece di
su -l
/
su --login
. Questa abbreviazione è sconsigliata perché l'opzione
-
può incontrare limitazioni di parsing, vedere
su(1) § DESCRIPTION
.
Potrebbe essere utile aggiungere un alias in
~/.bashrc
:
alias su="su -l"
su e wheel
Il comando
su
di BSD consente solo ai membri del
gruppo utente
wheel
di assumere l'identità di root per impostazione predefinita. Questo non è il comportamento predefinito di GNU
su
, ma può essere imitato usando
PAM
. Decommentare la riga appropriata in
/etc/pam.d/su
e
/etc/pam.d/su-l
:
auth required pam_wheel.so use_uid
Utenti nologin
Non è possibile eseguire comandi come un altro utente semplicemente usando
su
utente
-c
comando
se non è loro permesso il login (ovvero hanno
/bin/false
o
/usr/bin/nologin
impostato come shell
).
È possibile aggirare il problema specificando la shell da utilizzare:
su -s /usr/bin/bash
utente_nologin