LINUX

Come usare il comando Su in Linux

In questo tutorial impariamo cos’è il comando su (cambia utente) in Unix/Linux e la differenza tra i comandi su e su -. Linux è un kernel del sistema operativo multiutente, il che significa che più utenti possono connettersi contemporaneamente a un sistema Linux.

Puoi passare da un utente all’altro sulla riga di comando stessa con il comando su. Il comando su sta per “sostituisci utente” o può passare da un utente all’altro. Questo comando cambia le credenziali dell’utente in quelle di un utente o root specificato (per impostazione predefinita).

Cosa fa il comando?

Il comando su, come menzionato sopra, cambierà le credenziali dell’utente con quelle di altri utenti. Controlliamo un esempio

[raghu@redhat-server ~]$ su jack
Password:
[jack@redhat-server raghu]$ id
uid=501(jack) gid=501(jack) groups=501(jack),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Il comando id fornisce informazioni sull’utente corrente. Nell’output sopra, puoi vedere l’utente modificato. Quando non vengono forniti argomenti al comando su, il valore predefinito è l’utente root. Pagine man di Ubuntu Gli ho spiegato più informazioni.

[jack@redhat-server raghu]$ su
Password:
[root@redhat-server raghu]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Simulazione dell’autenticazione con su –

Con su –login o su -l o semplicemente il comando “su -“, puoi cambiare l’utente come se fosse un login di terminale.

[raghu@redhat-server ~]$ su - jack
Password:
[jack@redhat-server ~]$ id
uid=501(jack) gid=501(jack) groups=501(jack),504(javaproject) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Differenza tra su vs su-

La differenza tra “su” e “su -” è che alcune variabili d’ambiente, come la variabile PATH, non cambiano valore solo con su (cioè se l’opzione -l o – è omessa). Alcuni comandi potrebbero non essere eseguiti se PATH non è impostato correttamente. Ad esempio, considera il seguente scenario:

[jack@redhat-server ~]$ su root
Password:
[root@redhat-server jack]# fdisk -l
bash: fdisk: command not found
[root@redhat-server jack]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/jack/bin

Puoi vedere che le directory sbin non sono incluse nel PATH dell’utente root. Quindi il comando fdisk non è in esecuzione. Ora proviamo ad accedere con il comando su -:

[jack@redhat-server ~]$ su -
Password:
[root@redhat-server ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1044 8281507+ 8e Linux LVM
[root@redhat-server ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Un’altra differenza tra questi due comandi sono gli script di accesso. Innanzitutto, discutiamo alcuni script di accesso:

Quando un utente accede a un sistema, vengono eseguiti i seguenti 4 file se le credenziali dell’utente sono legittime:

/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile

Quando accedi con il comando “su -“, tutti questi script vengono eseguiti. Ma con su, vengono eseguiti solo gli script bashrc, cioè vengono eseguiti gli script /etc/bashrc e ~./bashrc.

In Ubuntu potresti riscontrare un errore di accesso durante l’esecuzione del comando su. Ricevi questo errore perché in Ubuntu l’account root è disabilitato per impostazione predefinita.

user@host:~$ su
Password:
su: Authentication failure

Invece di usare su sudo -i o sudo seguito dal tuo ordine.

Conclusione

In questo tutorial, abbiamo imparato la differenza tra i comandi “su” e “su -” in Linux. Maggiori informazioni sono disponibili in la mia mano. Spero che ti sia piaciuto leggere e per favore lascia i tuoi suggerimenti qui sotto.

Leggi anche:

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close