Acceso Administrativo
Hay muchos comandos de Linux que tocan con la información sensible como contraseñas, hardware del sistema u operan bajo otras circunstancias excepcionales. Previniendo que los usuarios habituales ejecuten estos comandos ayuda a proteger el sistema. Iniciar la sesión como el usuario root proporciona acceso de administrador, lo que permite la ejecución de algunos de los comandos privilegiados.
El Comando su
La sintaxis es la siguiente:
su OPCIONES USUARIO
El comando su te permite actuar temporalmente como un usuario con privilegios diferentes al usuario común.
Esto se logra mediante la creación de un nuevo shell. Por defecto, si no se especifica una cuenta de usuario, el comando su abre un nuevo shell como usuario root, que proporciona privilegios de administrador.
Se recomienda utilizar la opción login shell, ya que el login shell configura un shell completamente nuevo con la configuración del nuevo usuario.
Esta opción puede ser especificada de tres maneras:
su -
su -l
su --login
Después de ejecutar el comando su, se requiere una contraseña. Si en tu maquina aun no tienes clave para el usuario su, el sistema automáticamente te pedirá ingresar la clave para dicho usuario dos veces, una vez hecho esto guardará esa clave para el usuario su de sus maquinas.
Usuario su
Observemos que el prompt de comando ha cambiado para reflejar que has iniciado la sesión como usuario root.
Para cerrar la sesión y volver a la cuenta sysadmin, utiliza el comando exit. Observemos que el prompt cambia de nuevo:
Salir de su
Para evitar que se ejecuten comandos sensibles, se pueden configurar comandos para cada grupo de usuarios.
Existe el comando sl (Steam Locomotive) para la consola de linux, es un comando original de linux, pero de poco o ningún uso. Lo único que hace este comando es mostrar por pantalla una locomotora de vapor.
Si se configura ese comando para que sea ejecutado solo con perfiles de administrador, si el comando se ejecuta como sysadmin, nos arrojará el siguiente mensaje:
Comandos sin Permisos de Administrador
Utilicemos el comando su para cambiar a la cuenta de root y ejecutar el comando de sl con acceso administrativo:
Comando con Permisos de Administrador
Para salir del usuario root al usuario sysadmin, utilizamos el comando exit:
Salir de Root
El Comando sudo
La sintaxis es la siguiente:
sudo [OPCIONES] COMANDO
El comando sudo permite que el usuario ejecute un comando como otro usuario con más privilegios, sin crear un nuevo shell.
En cambio, para ejecutar un comando con privilegios de administrador, lo utilizamos como argumento para el comando sudo, al igual que el comando su, el comando sudo asume por defecto que la cuenta del usuario root debe utilizarse para ejecutar comandos.
El comando sudo puede ser usado para utilizar temporalmente otras cuentas también, para especificar otro usuario de cuenta utiliza la opción -u.
Ejecutemos el comando sl como el usuario root poniendo sudo delante de este:
Sudo
Una vez que el comando haya terminado y el prompt no haya cambiado, sigues registrado como sysadmin. El comando sudo solo proporciona acceso administrativo para la ejecución de un comando especificado.
Esto es una ventaja, ya que reduce el riesgo de que un usuario accidentalmente ejecute un comando como root.
La intención de ejecutar un comando es clara; el comando se ejecuta como root si tiene como prefijo el comando sudo, de lo contrario, se ejecuta el comando como un usuario normal.