Aprenda la diferencia entre los comandos "su" y "su -" en Linux


En un artículo anterior, le explicamos la diferencia entre los comandos sudo y su en Linux. Estos son dos comandos importantes que se utilizan para implementar la seguridad en Linux, en lo que respecta a la política de administración de usuarios y los permisos de los usuarios.

El comando su se usa para cambiar a otro usuario, en otras palabras, cambiar el ID de usuario durante una sesión de inicio de sesión normal (es por eso que a veces varios usuarios de Linux se refieren a él como cambiar (-) usuario ). Si se ejecuta sin un nombre de usuario, por ejemplo su - , iniciará sesión como usuario root por defecto.

Un desafío común al que se enfrentan los nuevos usuarios de Linux es comprender la diferencia entre "su" y "su -". Este artículo le ayudará a comprender brevemente la diferencia entre "su" y "su -" en los sistemas Linux.

Por lo general, para convertirse en otro usuario o iniciar sesión en otro usuario, puede invocar el siguiente comando, luego se le pedirá la contraseña del usuario al que está cambiando.

$ su tecmint

Teniendo en cuenta el escenario de la captura de pantalla anterior, es importante tener en cuenta que el usuario tecmint mantiene el entorno de la sesión de inicio de sesión original del usuario aaronkilik, el directorio de trabajo actual y la ruta a los archivos ejecutables también siguen siendo los mismos.

Como resultado, cuando el usuario tecmint intenta listar el directorio de trabajo (que sigue siendo el directorio de trabajo del usuario aaronkilik), se muestra el error: "ls: no se puede abrir el directorio.: Permiso denegado".

Pero al final, el usuario tecmint puede listar su directorio de inicio después de ejecutar el comando cd sin ninguna opción.

En segundo lugar, cuando invoca su con un - , o -l o --login banderas, le ofrece una interfaz de inicio de sesión similar a cuando inicia sesión normalmente. Todos los comandos siguientes son equivalentes entre sí.

$ su - tecmint
OR
$ su  -l tecmint
OR
$ su --login tecmint

En este caso, el usuario tecmint recibe su propio entorno de inicio de sesión predeterminado, incluida la ruta a los archivos ejecutables; también aterriza en su directorio de inicio predeterminado.

Es importante destacar que cuando ejecuta su sin un nombre de usuario, automáticamente se convertirá en superusuario. Se le proporcionará el entorno predeterminado de root, incluida la ruta a los cambios de archivos ejecutables. También aterrizará en el directorio de inicio de root:

$ su

Consulte también: Cómo mostrar asteriscos al escribir la contraseña de Sudo en Linux

Esperamos que este artículo le resulte informativo. Puede hacer cualquier pregunta o compartir sus pensamientos a través de la sección de comentarios a continuación.