Está en la página 1de 6

Hogar » SysAdmin » La diferencia entre sudo y su explicada

 Contenido 

Introducción

Los comandos sudo y su pertenecen al grupo de comandos con los que se encuentra cada
usuario 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 sobre el otro.

En este tutorial, aprenda todo sobre la diferencia entre su y sudo.

sudo vs su
Tanto su como sudo elevan los privilegios asignados al usuario actual.

La principal diferencia entre los dos es que su requiere la contraseña de la cuenta de destino,
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 confidencial.

Además, es recomendable atenerse a sudo cuando se realizan tareas que requieren privilegios
de root. Al hacerlo, al usuario actual solo se le conceden privilegios para el comando
especificado. Por otro lado, su cambia completamente al usuario root, exponiendo todo el
sistema a una posible modificación accidental.

Cómo usar el comando su


El comando su significa usuario sustituto, y se usa principalmente para cambiar de un usuario
a otro. Lo hace iniciando un shell de inicio de sesión en el directorio y entorno actual (su) o
cambiando completamente a la configuración del usuario de destino (su -).

La sintaxis principal es:

su [user_name]

su - [user_name]
Si el comando se utiliza sin el argumento, cambia a la cuenta de superusuario (root).

¿Cómo funciona el comando su?


Para invocar el shell de otro usuario dentro del directorio de trabajo/entorno de usuario, utilice
el comando su (sin el guión).

Por ejemplo, para operar como un usuario llamado phoenixnap, ejecute:

su phoenixnap

Luego, proporcione la contraseña para la cuenta de phoenixnap y presione Enter.

El shell debería cambiar, mostrando que ahora tiene acceso de operador a la cuenta
especificada. Sin embargo, el entorno de usuario sigue siendo el mismo, como 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, utilice el comando su
-.

Por lo tanto, para cambiar al usuario phoenixnap y pasar a su shell de inicio de sesión, escriba
el comando:

su - phoenixnap

Escriba la contraseña de la cuenta de phoenixnap y presione Enter para confirmar. La salida


debe ser similar a la de la siguiente imagen:
Nota: Los atributos adicionales que permiten pasar a otro usuario y su interfaz
de inicio de sesión incluyen: (o ) .su - l--login[username]
 Para obtener más detalles sobre el comando su, consulte nuestro artículo
sobre Cómo usar el comando su con ejemplos.

Cómo usar el comando sudo


sudo se utiliza como prefijo para 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
comando sudo 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 (en poder de 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 la opción sudo solo puede ser utilizada por usuarios que pertenezcan al
grupo sudoers.

Agregar un usuario al grupo Sudoers


Para que un usuario ejecute un comando que requiere el prefijo sudo, tiene que ser parte del
grupo sudoers.

Para agregar un usuario al grupo sudoers, ejecute el siguiente comando (como root o una
cuenta que ya tenga 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:

Nota: Para obtener una guía detallada, consulte Cómo agregar un usuario al
 grupo Sudoers en Ubuntu o Cómo agregar un usuario al grupo Sudoers en
CentOS.

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 su lugar. Por esta razón, todas las versiones basadas en Ubuntu
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
durante la instalación.

Habilitación de la cuenta raíz


Si está utilizando una distribución basada en Ubuntu e intenta cambiar al usuario root, la salida
le informa que hay un error de autenticación.
Para activar el usuario root, ejecute el comando passwd:

sudo passwd root

A continuación, la salida 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 root esté activo cambiando a él su shell de inicio de sesión con su -.

Nota: Se recomienda cambiar las contraseñas regularmente. Esta guía puede


 ayudarlo a cambiar o restablecer su contraseña de root de Linux en Ubuntu o
CentOS.

Características adicionales
Aunque sudo está vinculado principalmente a la ejecución de comandos con privilegios de root,
también se puede usar para cambiar el usuario root. Cambie al usuario root 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.

Del mismo modo, su también puede funcionar como sudo y ejecutar un solo comando como
raíz:
su -c [command]

Conclusión

Después de leer este artículo, debe comprender la diferencia entre el comando sudo y su.
Recuerde usar sudo siempre que pueda para evitar posibles problemas de seguridad y de todo
el sistema.

También podría gustarte