Introducción
En Linux, el su
El comando (cambiar de usuario) se usa para ejecutar un comando como un usuario diferente.
En esta guía, aprenderá a usar el su
comando, con ejemplos prácticos.
Requisitos previos
- Un sistema que ejecuta Linux
- Acceso a una ventana de terminal/línea de comandos (Ctrl-Alt-T, Ctrl-Alt-F2)
Cómo funciona el comando su
El su
El comando se utiliza para ejecutar una función como un usuario diferente. Es la forma más fácil de cambiar o cambiar a la cuenta administrativa en la sesión de inicio de sesión actual.
Algunas versiones de Linux, como Ubuntu, deshabilitan la cuenta de usuario raíz de forma predeterminada, lo que hace que el sistema sea más seguro. Pero esto también impide que el usuario ejecute comandos específicos.
Usando su
actuar temporalmente como usuario raíz le permite eludir esta restricción y realizar diferentes tareas con diferentes usuarios.
Sintaxis del comando su
Para usar el su
comando, introdúzcalo en una línea de comandos de la siguiente manera:
su [options] [username [arguments]]
Si se especifica un nombre de usuario, su
por defecto es el superusuario (raíz). Simplemente busque el usuario que necesita y agréguelo a su
sintaxis del comando.
Opciones de comando su
Para mostrar una lista de comandos, ingrese lo siguiente:
su –h
Aquí hay algunas opciones comunes para usar con el su
comando:
Username
– Reemplazar nombre de usuario con el nombre de usuario real con el que desea iniciar sesión. Puede ser cualquier usuario, no solo root.–c
o–command [command]
– Ejecuta un comando específico como el usuario especificado.–
o–l
o–login [username]
– Ejecuta un script de inicio de sesión para cambiar a un nombre de usuario específico. Deberá ingresar una contraseña para ese usuario.–s
o–shell [shell]
– Le permite especificar un entorno de shell diferente para ejecutarlo.–h
o–help
– Mostrar el archivo de ayuda parasu
comando.–p
o––preserve–environment
– Preservar la cáscara entorno (INICIO, SHELL, USUARIO, NOMBRE DE REGISTRO).
Ejemplos de comandos su
Cambiar a un usuario diferente
Para cambiar el usuario que inició sesión en esta ventana de terminal, ingrese lo siguiente:
su –l [other_user]
Se le pedirá una contraseña. Introdúzcalo y el inicio de sesión cambiará a ese usuario.
Si omite un nombre de usuario, se establecerá de forma predeterminada en raíz. cuenta. Ahora, el usuario que ha iniciado sesión puede ejecutar todos los comandos del sistema. Esto también cambiará el directorio de inicio y la ruta a los archivos ejecutables.
Usa el whoami
Comando para verificar que cambiaste a un usuario diferente.
Ejecutar un comando específico como un usuario diferente
Para ejecutar un comando específico como un usuario diferente, use el –c
opción:
su –c [command] [other_user]
El sistema le responderá pidiéndole la contraseña de usuario.
Cuando ingrese este ejemplo, el sistema usará la cuenta especificada para ejecutar el ls
(enumerar el contenido del directorio) comando.
Usar un caparazón diferente
Para usar un shell o entorno operativo diferente, ingrese lo siguiente:
su –s /usr/bin/zsh
Este comando abre una cuenta de usuario raíz en Z shell .
Usar un usuario diferente en el mismo entorno
Puede mantener el entorno de la cuenta de usuario actual con –p
opción:
su –p [other_user]
Reemplazar [otro_usuario] con el nombre de usuario real al que desea cambiar.
La cuenta de usuario cambiará, pero mantendrá el mismo directorio de inicio. Esto es útil si necesita ejecutar un comando como un usuario diferente, pero necesita acceder a los datos del usuario actual.
Para verificar que permaneció en el mismo entorno doméstico, use el echo $HOME
comando que mostrará el directorio en el que está trabajando.
Comparación de comandos:su vs sudo
Comando sudo
El sudo
El comando otorga acceso único o por tiempo limitado a la funcionalidad raíz. Normalmente, el sudo
El comando se usa para ejecutar rápidamente un comando administrativo y luego volver a los permisos normales de la cuenta de usuario.
Para proporcionar acceso a sudo, el usuario debe agregarse al grupo sudo.
comando su
El su
El comando le permite cambiar el usuario actual a cualquier otro usuario. Si necesita ejecutar un comando como un usuario diferente (no root), use el –l [username]
opción para especificar la cuenta de usuario. Además, su
también se puede usar para cambiar a un intérprete de shell diferente sobre la marcha.
su
es un comando más antiguo pero con más funciones. Puede duplicar la funcionalidad de sudo
mediante el uso de –c
opción para pasar un solo comando al shell.