Cómo usar el comando "su" en Linux

Cómo usar el comando "su" en Linux

Por seguridad, los usuarios normales en Linux a menudo no tienen permisos para realizar ciertas tareas o ejecutar algunos comandos. Para ello es necesario recurrir al usuario root o superusuario. También es habitual querer acceder a carpetas o recursos de otro usuario del sistema. El comando "su" permite abrir una sesión con el ID de otro usuario o iniciar un nuevo shell de conexión con otra identificación.

¿Cómo conectarse con el ID de otro usuario?

Si acompañamos el comando su con el nombre de usuario al que nos queremos conectar, Linux nos solicitará la contraseña y accederemos directamente a dicha cuenta. En caso de querer regresar al usuario original, escribiremos el comando exit.

Ejemplo:

su carlos

Después de haber insertado la contraseña, nos encontraremos bajo el usuario "carlos", seguiremos en la misma carpeta de trabajo que antes y nos beneficiaremos de sus prestaciones (shell, permisos...).

Para acceder al superusuario o root, únicamente tendremos que escribir:

su

De nuevo, se nos solicitará la contraseña y accederemos como administrador.

¿Cómo iniciar un nuevo shell de conexión?

El guión ("-") fuerza el inicio de un nuevo shell de conexión, con las preferencias por defecto del usuario "carlos".

Ejemplo:

su - carlos

¿Cómo volver al shell anterior?

Escribir el comando "exit" o la combinación de las siguientes teclas "Ctrl+D" para cerrar el shell y volver al anterior.

Observación : si la linea del comando no está vacía, Ctrl+D borrará de la pantalla todos los caracteres actuales.

¿Cómo suspender el shell de la cuenta root?

Gracias al comando suspend podemos suspender el shell root y ponerlo en standby.

El comando fg permite devolver al shell root su utilidad:

ccm@debian:~$ su  
Password:  
debian:/home/ccm# suspend  
[1]+  Stopped                 su  
ccm@debian:~$ fg  
su  
debian:/home/ccm#

Notas

  • Si inserta el comando "exit" o "Ctrl+D" a partir del shell de conexión general (inicial), se desconectará del sistema UNIX.

  • Si estaba conectado (en un shell) como root e inserta el comando "su user" el sistema no exigirá ninguna contraseña.