su con Bash

Comando su para Linux

Podemos hacer uso del comando su de Linux para cambiar de usuario en una sesión de shell. De esta forma podemos realizar tareas sin tener que cambiar de usuario. Suele utilizarse para cambiar a usuario root, superusuario o cualquier otro usuario de nuestro sistema.

La palabra reservada su proviene de Switch User o Substitute User.

La diferencia principal entre el comando sudo de Linux y el comando su, es que haciendo uso de su cambiamos completamente de usuario y con sudo no cambiamos por completo de usuario, solamente ejecutamos comandos con privilegios de forma controlada.

La forma más sencilla de utilizar el comando su es la siguiente.

su

Cuando hacemos uso del comando su de Linux escribiendo únicamente la palabra reservada su, el sistema interpreta que estamos intentando cambiar a la cuenta del superusuario o root.

De forma inmediata el sistema nos pedirá la clave para ver si la conocemos y realizar el cambio de usuario.

Cambiando al usuario root mediante el comando su de Linux.

Podemos especificar el nombre del usuario para cambiar a un usuario concreto que no sea root.

Vamos a cambiar a un usuario llamado nuevo_usuario que tengo en el sistema para los ejemplos. Obviamente para realizar cambios entre usuarios debemos conocer las claves.

su nuevo_usuario
Cambiando al usuario nuevo_usuario mediante el comando su de Linux.

Podemos hacer uso del guión para simular la sesión de inicio completa. De esta forma incluiremos su perfil y las variables de entorno que existan.

Podríamos decir, que si necesitamos trabajar con el entorno completo del usuario es necesario hacer uso del guión.

su - nuevo_usuario

En este último ejemplo vamos a ver la diferencia de cambiar de usuario con el guión y de cambiar de usuario sin utilizarlo.

Cambiamos de usuario con su sin el guión.

su nuevo_usuario

Si realizamos después de este cambio un pwd para ver el directorio en el que nos encontramos veremos que estamos en el mismo directorio que estaba nuestro anterior usuario. Si tratásemos de hacer uso del comando ls, veremos que nos resulta imposible.

¿Por qué nos pasa esto? Es muy sencillo, hemos cambiado al usuario llamado nuevo_usuario pero sin hacer uso del guión. Estamos en la ruta del usuario anterior llamado kali y no tenemos permisos para listar su contenido.

Sin permisos después del cambio de usuario sin guión.

Cambiamos de usuario con su con el guión.

su - nuevo_usuario

Ahora vamos a ver qué pasa si realizamos el cambio de usuario con el comando su de Linux haciendo uso del guión.

Después del cambio de usuario con guión.

¿Qué pasa ahora utilizando el guión? Se ha cargado nuestro perfil y la ubicación en la que estamos es la del usuario nuevo_usuario y podemos listar perfectamente el contenido.

Haciendo uso del guión en el cambio de usuario estamos simulando la sesión completa, incluyendo la carga de su perfil y las variables de entorno.

Obviamente debemos conocer las claves de acceso de los diferentes usuarios si queremos realizar el cambio, independientemente de si es con guión o sin guión.

Dejar un comentario

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