GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando Su en Linux

En este tutorial, aprendemos qué es el comando su (cambiar de usuario) en Unix/Linux y la diferencia entre los comandos su y su. Linux es un kernel de sistema operativo multiusuario, lo que significa que varios usuarios pueden iniciar sesión en un sistema Linux simultáneamente.

Puede cambiar entre diferentes usuarios en la línea de comandos con el comando su. El comando su significa 'usuario sustituto' o puede cambiar entre usuarios. Este comando cambia las credenciales de usuario por las de un usuario o raíz especificado (de forma predeterminada).

¿Qué está haciendo su comando?

El comando su, como se indicó anteriormente, cambiará las credenciales del usuario por las de otro usuario. Veamos un ejemplo

[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

El comando id genera la información sobre el usuario actual. En el resultado anterior, puede ver el cambio de usuario. Cuando no se dan argumentos al comando su, cambia a usuario root por defecto. Las páginas man de Ubuntu han explicado más información.

[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

Simulación de inicio de sesión con su -

Con su --login o su -l o simplemente el comando 'su -', puede cambiar de usuario como si fuera un inicio de sesión desde una terminal.

[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

Diferencia entre su y su-

La diferencia entre 'su' y 'su -' es que algunas variables de entorno, como la variable PATH, no cambian los valores con solo su (es decir, si se omite la opción -l o -). Es posible que algunos comandos no se ejecuten si PATH no está configurado correctamente. Por ejemplo, considere el siguiente escenario:

[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

Puede ver que los directorios sbin no están incluidos en la RUTA del usuario raíz. Por lo tanto, no ejecuta el comando fdisk. Ahora intentamos iniciar sesión con su - comando:

[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

Otra diferencia entre estos dos comandos son los scripts de inicio de sesión. Primero, analicemos algunos scripts de inicio de sesión:

Cuando un usuario inicia sesión en un sistema, se ejecutan los siguientes 4 archivos si las credenciales del usuario son legítimas:

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

Cuando inicia sesión con el comando 'su -', todos estos scripts se ejecutan. Pero con su, solo se ejecutan los scripts bashrc, es decir, /etc/bashrc y ~./bashrc se ejecutan.

En ubuntu, es posible que reciba un error de autenticación cuando ejecute el comando su. Recibe este error porque la cuenta raíz de ubuntu está deshabilitada de manera predeterminada.

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

En lugar de su usa sudo -i o sudo seguido de su orden.

Conclusión

En este tutorial, aprendimos la diferencia entre los comandos "su" y "su -" en Linux. Más información está disponible en man su. Espero que haya disfrutado de la lectura y deje sus sugerencias a continuación.

Leer también:

  • 38 comandos básicos de Linux para aprender con ejemplos
  • Cómo agregar un usuario a Sudoers en Debian

Linux
  1. Cómo usar el comando grep de Linux

  2. Cómo usar el comando de historial en Linux

  3. Cómo usar el comando de pantalla de Linux

  4. Cómo usar el comando ldconfig en Linux

  5. Cómo usar el comando ipset en Linux

Cómo usar el comando sysctl en Linux

Cómo usar el comando de apagado de Linux

Cómo usar grep en Linux

Cómo usar el comando Mkdir en Linux

Cómo usar el comando de trabajos en Linux

Cómo usar el comando de pantalla en Linux