Entendiendo Sudo y Su: Sintaxis y Funciones

Está garantizado que usará los comandos sudo o su cuando use Linux. Sin embargo, la mayoría de las personas todavía se confunden con los dos y no entienden su diferencia.

En esta guía, comprenderemos cada comando y su sintaxis y ofreceremos algunos ejemplos de las diferentes formas de usarlo. De esa manera, se sentirá cómodo sabiendo qué usar y en qué momento.

El comando Sudo

En Linux, sudo significa SuperUser Do. Permite a los usuarios ejecutar los comandos con privilegios de administrador. Cuando ejecuta un comando con sudo, debe ingresar la contraseña del usuario actual para autenticar la ejecución de un comando en particular.

Solo puede ejecutar un comando usando sudo si está en el archivo sudoers . El administrador del sistema usa el archivo sudoers para permitir a los usuarios ejecutar los diferentes comandos como root. Todos los comandos se ejecutan cuando se registra la raíz para que el administrador verifique qué usuario ejecuta el comando y qué comando se ejecuta.

Esta es la sintaxis del comando sudo :

comando $ sudo

Aquí hay un ejemplo de cómo actualizar el repositorio apt. Intentemos actualizarlo sin usar sudo y veamos qué sucede.

Obtenemos un error que indica que no tenemos permiso para ejecutar el comando.

Sin embargo, si ejecutamos el mismo comando con sudo, logramos ejecutarlo. Pero debemos introducir la contraseña del usuario actual.

Si ha iniciado sesión como raíz, no necesita agregar sudo al ejecutar un comando. Por ejemplo, puede ejecutar el comando de actualización como se muestra a continuación:

Suponga que intenta ejecutar sudo en su terminal y obtiene un error como el siguiente. Significa que no está agregado al archivo sudoers .

Sin embargo, el administrador puede agregarlo usando la siguiente sintaxis:

$ sudo usermod -aG [ nombre de usuario ]

De esa manera, puede ejecutar un comando privilegiado como root.

El Comando Su

El comando su se usa cuando desea cambiar su cuenta e iniciar sesión como otro usuario. También puede usar el comando para cambiar a la cuenta raíz.

Aquí está la sintaxis para cambiar a una cuenta de usuario diferente:

$ su [ nombre de usuario ]

Con el comando su , deberá ingresar la contraseña de la cuenta de usuario a la que desea cambiar.

Para cambiar a la cuenta raíz, use el siguiente comando:

$ su

El comando anterior le solicita que ingrese la contraseña de la cuenta raíz. Sin embargo, puede encontrarse con el siguiente error:

Si eso sucede, significa que no ha habilitado la cuenta raíz.

Si desea cambiar a la cuenta raíz sin habilitarla, use sudo su como se muestra a continuación:

Alternativamente, puede habilitar la cuenta raíz con el siguiente comando:

$ sudo contraseña raíz

Ahora puede cambiar a la cuenta raíz e ingresar la contraseña raíz que creó en el paso anterior.

Puede usar varias opciones con el comando su .

Para cambiar el directorio después de cambiar a la cuenta raíz y hacer que el shell parezca un inicio de sesión real, agregue un guión al ejecutar el comando su.

$ su –

Si tiene un shell diferente que desea ejecutar después de cambiar a la cuenta raíz, puede especificar el indicador -s y la ruta al shell usando la siguiente sintaxis:

$ su -s [ ruta-a-shell ]

Además, puede conservar todo el entorno al cambiar utilizando la opción -p . Aquí hay un ejemplo:

Para salir de la sesión y cambiar al usuario activo, escriba exit .

Diferencia entre sudo y su

El comando sudo se usa cuando desea ejecutar un comando que requiere privilegios de root. Agregar sudo le permite ejecutar el comando como root sin la cuenta de root. Si desea cambiar a la cuenta raíz o a otra cuenta de usuario, puede usar el comando su seguido de la cuenta de usuario de destino.

Con sudo, debe ingresar la contraseña de la cuenta activa. Sin embargo, su requiere que ingrese la contraseña de la cuenta a la que desea cambiar. Se recomienda usar sudo en lugar de cambiar a la cuenta raíz para minimizar los riesgos de ejecutar los comandos con la cuenta raíz.

Conclusión

Sudo y su son utilidades de línea de comandos disponibles para Linux. Su le permite cambiar temporalmente a otra cuenta de usuario, mientras que Sudo le permite ejecutar un comando con privilegios de administrador. Hemos visto cómo usar los dos comandos con diferentes ejemplos. Ahora comprende cómo usar las dos opciones en Linux.