Introducción
La su
(sustituto o cambio de usuario) le permite ejecutar comandos con los privilegios de otro usuario, el usuario root por defecto.
Usar su
es la forma más fácil de cambiar a la cuenta administrativa en la sesión de inicio de sesión actual. Esto es especialmente útil cuando el usuario root no está autorizado a iniciar sesión en el sistema a través de ssh o utilizando el administrador de visualización de la GUI.
En este tutorial, explicaremos cómo usar el comando su
Cómo usar el comando su
La sintaxis general del su
es la siguiente:
su [OPTIONS] [USER [ARGUMENT...]]
Cuando se invoca sin ninguna opción, su
es ejecutar un shell interactivo como root:
su
Se le pedirá la contraseña de root y, si está autenticado, el usuario que ejecuta el comando se convierte temporalmente en root.
Para confirmar que el usuario ha cambiado, use el comando whoami
whoami
El comando imprimirá el nombre del usuario que ejecuta la sesión de shell actual:
root
La opción más utilizada al invocar su
es -
, -l
, --login
. Esto hace que el shell sea un shell de inicio de sesión con un entorno muy similar a un inicio de sesión real y cambia el directorio actual:
su -
Si desea ejecutar otro shell en lugar del definido en el passwd
, use la opción -s
, --shell
Por ejemplo, para ir a la raíz y ejecutar el tipo de shell zsh
su -s /usr/bin/zsh
Para preservar todo el entorno ( HOME
, SHELL
, USER
y LOGNAME
) del usuario actual, utilice la opción -p
, --preserve-environment
su -p
-
se usa la opción -, se ignora la opción -p
Si desea ejecutar un comando como usuario sustituto sin iniciar un shell interactivo, use la opción -c
, --command
Por ejemplo, para invocar el ps
como root, escriba:
su -c ps
Para cambiar a otra cuenta de usuario, pase el nombre de usuario como argumento a su
. Por ejemplo, para cambiar al tipo de usuario noviello
su noviello
Sudo vs Su
En algunas distribuciones de Linux como Ubuntu, la cuenta de usuario raíz está deshabilitada de forma predeterminada por razones de seguridad. Esto significa que no se establece ninguna contraseña de root y no puede usar su
para cambiar a root.
Una opción para cambiar a root sería anteponer sudo
al su
e ingresar la contraseña del usuario actualmente conectado:
sudo su -
El sudo
permite ejecutar programas como otro usuario, por defecto el usuario root.
sudo
tiene el prefijo su
se invocará como root. Ejecutar sudo su -
y usar la contraseña de usuario es lo mismo que ejecutar su -
con la contraseña de root.
Cuando se usa con la opción -i
sudo
ejecuta un shell de inicio de sesión interactivo con el entorno del usuario root:
sudo -i
sudo -i
es prácticamente lo mismo que su -
.
La ventaja de usar sudo
sobre su
es que la contraseña de root no tiene que ser compartida entre múltiples cuentas de usuarios administrativos.
Además, con sudo
puede permitir que los usuarios ejecuten solo programas específicos con privilegios de root.
Conclusión
su
es una utilidad de línea de comandos que le permite convertirse temporalmente en otro usuario y ejecutar comandos con el usuario de reemplazo.