Introducción
El sudo
y su
Los comandos pertenecen al grupo de comandos con los que se encuentran todos los usuarios de Linux. Debido a que son similares en sintaxis y tienen funciones superpuestas, muchos usuarios nuevos no están seguros de cuándo usar uno u otro.
En este tutorial, aprenda todo sobre la diferencia entre su
y sudo
.
sudo contra su
Ambos su
y sudo
elevar los privilegios asignados al usuario actual.
La principal diferencia entre los dos es que su
requiere la contraseña de la cuenta objetivo, mientras que sudo
requiere la contraseña del usuario actual. Por lo tanto, es mucho más seguro usar sudo
ya que no incluye el intercambio de información sensible.
Además, es recomendable ceñirse a sudo
al realizar tareas que requieren privilegios de root. Al hacerlo, el usuario actual solo obtiene privilegios para el comando especificado. Por otro lado, su
cambia completamente al usuario root, exponiendo todo el sistema a posibles modificaciones accidentales.
Cómo usar el comando su
El su
comando significa usuario sustituto , y se usa principalmente para cambiar de un usuario a otro. Para ello, inicia un shell de inicio de sesión en el directorio y el entorno actuales (su
) o cambiando completamente la configuración del usuario objetivo (su -
).
La sintaxis principal es:
su [user_name]
o
su - [user_name]
Si el comando se usa sin el argumento, cambia al superusuario (raíz ) cuenta.
¿Cómo funciona el comando su?
Para invocar el shell de otro usuario dentro del directorio de trabajo/entorno de usuario, use el su
comando (sin el guión).
Por ejemplo, para operar como un usuario llamado phoenixnap , ejecuta:
su phoenixnap
Luego, proporcione la contraseña para phoenixnap cuenta y presiona Entrar .
El shell debería cambiar y mostrar que ahora tiene acceso de operador a la cuenta especificada. Sin embargo, el entorno del usuario sigue siendo el mismo, como se muestra en la siguiente imagen:
¿Cómo funciona el comando su – [guión]?
Para pasar a otro usuario y cambiar a ese entorno de usuario de destino, use el su -
comando.
Por lo tanto, para cambiar a phoenixnap usuario y muévase a su shell de inicio de sesión, escriba el comando:
su - phoenixnap
Escriba la contraseña para el phoenixnap cuenta y presiona Entrar para confirmar. El resultado debe ser similar a la siguiente imagen:
Cómo usar el comando sudo
sudo
se utiliza como prefijo de los comandos de Linux, lo que permite al usuario que ha iniciado sesión ejecutar comandos que requieren privilegios de root. A diferencia de su
, el sudo
El comando en Linux requiere proporcionar la contraseña para el usuario que ejecuta el comando.
Todas las tareas administrativas y ejecutables requieren el permiso máximo (mantenido por root). En tales casos, se recomienda usar sudo
.
La sintaxis principal es:
sudo [command]
Antes de que el sistema ejecute el comando, solicita la contraseña del usuario actual.
Tenga en cuenta que el sudo
La opción solo puede ser utilizada por usuarios que pertenecen a sudoers grupo.
Agregar un usuario al grupo Sudoers
Para que un usuario ejecute un comando que requiere sudo
prefijo, tiene que ser parte de los sudoers grupo.
Para agregar un usuario a los sudoers grupo, ejecute el siguiente comando (como raíz o una cuenta que ya tiene privilegios sudo):
usermod -aG sudo [user_name]
Por ejemplo, para agregar la cuenta phoenixnap , escribiría:
sudo usermod -aG sudo phoenixnap
Para ver una lista de cuentas que pertenecen al grupo sudoers, ejecute:
sudo getent group sudo
El resultado debe mostrar la cuenta agregada en el paso anterior:
Cómo funcionan sudo y su en diferentes distribuciones de Linux
su
es un comando más antiguo pero con más funciones incluido en todas las distribuciones de Linux. Es la forma tradicional de cambiar a la cuenta raíz.
Linux desaconseja trabajar como root, ya que puede causar cambios no deseados en todo el sistema y sugiere usar sudo
en cambio. Por esta razón, todos los basados en Ubuntu los lanzamientos son solo sudo , lo que significa que la cuenta raíz no está activa de forma predeterminada.
Al instalar un sistema operativo Ubuntu, crea un usuario etiquetado automáticamente como parte del grupo sudoers. Sin embargo, no hay configuración de cuenta raíz. Para habilitar el usuario root, debe activarlo manualmente.
Por otro lado, otras distribuciones de Linux, como Fedora, crean una cuenta raíz y de usuario al momento de la instalación.
Habilitación de la cuenta raíz
Si está utilizando una distribución basada en Ubuntu e intenta cambiar al usuario raíz, el resultado le informa que hay una falla de autenticación .
Para activar el usuario root, ejecute el comando passwd:
sudo passwd root
A continuación, el resultado solicita establecer la contraseña para el usuario root. Escriba y vuelva a escribir una contraseña segura, luego presione Enter. El sistema debería notificarle que la contraseña se ha actualizado correctamente.
Verifique que el usuario raíz esté activo cambiando a su shell de inicio de sesión con su -
.
Características adicionales
Aunque sudo
está vinculado principalmente a la ejecución de comandos con privilegios de root, también se puede utilizar para cambiar el usuario root. Cambie al usuario raíz y adquiera el entorno raíz con:
sudo -i
Escriba la contraseña del usuario actualmente en uso. Ahora debería estar en el shell raíz.
Asimismo, su
también puede funcionar como sudo
y ejecute un solo comando como root:
su -c [command]