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 propia 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 a las de un usuario o root específico (por defecto).

¿Qué está haciendo su comando?

El comando su, como se indicó anteriormente, cambiará las credenciales del usuario por las de algún 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 la salida anterior, puede ver el usuario cambiado. Cuando no se dan argumentos al comando su, cambia a usuario root de forma predeterminada. Páginas de manual de Ubuntu lo he 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

Simulando inicio de sesión con su –

Con el comando su –login o su -l o simplemente ‘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 vs su-

La diferencia entre ‘su’ y ‘su -‘ es que algunas variables de entorno, como la variable PATH, no cambian los valores solo con 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 tanto, no ejecuta el comando fdisk. Ahora intentamos iniciar sesión con su – command:

[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, se ejecutan los scripts / etc / bashrc y ~. / Bashrc.

En ubuntu, puede recibir un error de autenticación cuando ejecuta su comando. Recibe este error porque en ubuntu la cuenta raíz está deshabilitada de forma predeterminada.

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

En lugar de su uso sudo -i o sudo seguido de tu comando.

Conclusión

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

Leer también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar