En esta guía, lo guiaremos a través de los conceptos básicos del uso del comando sudo en una distribución basada en Linux.
El comando sudo permite que cualquier usuario del grupo sudo ejecute comandos como otro usuario. Por defecto, sudo se ejecutará como root, pero puede especificar cualquier usuario que desee. Si planea usar un sistema operativo Linux, probablemente usará este comando bastante.
Lo más probable es que utilice este comando cuando ejecute un comando que requiera privilegios de superusuario o raíz. Por ejemplo, muchos comandos de administración de usuarios requerirán que el usuario tenga privilegios de root para ejecutarse. En escenarios menos probables, es posible que deba usar otro usuario para ejecutar un comando específico.
Este tutorial cubre la mayoría de los aspectos básicos del uso del comando sudo en un sistema operativo Linux. Por ejemplo, cubrimos la sintaxis, las opciones y algunos casos de uso.
Indice
Sintaxis del comando sudo
El comando sudo en sí es muy simple y acepta dos parámetros diferentes. Por lo tanto, es muy probable que utilice este comando sin aplicarle ninguna opción adicional.
[OPTIONS] es donde puede especificar cualquier opción adicional que desee aplicar al comando sudo.[COMMAND] es el comando que desea ejecutar como superusuario u otro usuario.
Opciones del comando sudo
Hay varias opciones diferentes que puede aplicar al comando sudo. Sin embargo, es poco probable que los use en la mayoría de los casos.
-B o –bell hará sonar el timbre cada vez que aparezca una solicitud de contraseña. -b o –background ejecutará el comando dado en segundo plano. Si el comando es interactivo, es probable que falle en segundo plano. Además, no es posible controlar los procesos en segundo plano iniciados por sudo. -k o –reset-timestamp invalidarán las credenciales de usuario almacenadas en caché. Este cambio obligará al usuario a ingresar la contraseña cuando intente usar sudo nuevamente.
Si usa esta opción con un comando, sudo ignorará las credenciales almacenadas en caché del usuario y requerirá una contraseña. Sin embargo, no actualizará las credenciales almacenadas en caché del usuario.
-K o –remove-timestamp eliminará las credenciales almacenadas en caché del usuario. No funciona con un comando. -l o –list listarán los comandos permitidos y no permitidos para el usuario que llama. Puede especificar otro usuario usando la opción -u. Si se especifica un comando, se muestra una ruta completa al comando con todos los argumentos de la línea de comandos. -n o –non-interactive evitará cualquier solicitud de entrada del usuario. Sin embargo, en algunos casos esto puede resultar en un error, como sudo que requiere una contraseña para ejecutarse. -g o –group= group ejecutará el comando utilizando el grupo especificado como grupo principal. Puede especificar el ID de grupo (GID) o un nombre de grupo. Si no especifica un usuario usando la opción -u o –user, el comando se ejecutará como el usuario que llama. -u o –user= usuario ejecutará el comando como el nombre de usuario o id especificado. -T o –command-timeout= tiempo de espera le permite finalizar el comando después del tiempo de espera especificado. -h o –help muestra información breve de ayuda para el comando sudo. -v o –validate actualizará las credenciales almacenadas en caché del usuario. Esta actualización extenderá el tiempo de espera de sudo en 15 minutos adicionales de manera predeterminada. No funciona con un comando.– evitará que sudo procese los argumentos de la línea de comandos.
A continuación se incluye una breve descripción de algunas opciones que puede utilizar. Recomiendo acceder a los documentos de ayuda de Linux si necesita más información.
Usando el comando sudo
Hay muchos ejemplos de cuándo necesitará usar sudo para realizar una tarea específica. Por ejemplo, si necesita realizar una acción que requiere privilegios de administrador, como cambiar la configuración de otros usuarios o modificar las propiedades del sistema.
También puede usar sudo para ejecutar comandos de Linux como otro usuario o grupo. Es útil si tiene tareas específicas que se ejecutan con un usuario en particular pero no desea iniciar sesión en el usuario por separado.
A continuación se muestran algunos ejemplos del uso del comando sudo para realizar diferentes tareas.
Uso básico
La forma más probable de usar el comando sudo es sin ninguna opción. Para ejecutar el comando sudo, ingrese sudo seguido del comando que desea ejecutar como raíz.
El siguiente resultado muestra que el usuario está raíz cuando corremos quién soy con sudo.
Especificar usuario
Puede usar sudo para ejecutar comandos como usuario no root usando la opción -u o –user=.
En el siguiente ejemplo, usamos la opción –user para ejecutar el comando sudo como pie usuario. Usamos whoami para confirmar que el comando se está ejecutando bajo el pie usuario.
Como puede ver en nuestro resultado a continuación, el comando whoami se ejecuta como usuario pi.
Especificar grupo
Para usar un grupo específico cuando usa el comando sudo, puede usar la opción -g o –group= seguida del grupo que desea usar.
Si no especifica un usuario usando la opción -u o –user, el comando se ejecutará como el usuario que llama.
A continuación se muestra un ejemplo de cómo especificar un grupo para usar en lugar del grupo principal del usuario normal. Usando ls -l podemos ver que el propietario y el grupo de nuestro directorio es el usuario que llama y el grupo que especificamos.
El siguiente ejemplo crea un directorio usando sudo y el comando mkdir sin ninguna opción adicional. Como era de esperar, el directorio es propiedad del usuario y del grupo raíz.
Extensión del tiempo de caducidad de la contraseña
La opción -v o –validate extenderá el tiempo de caducidad de la contraseña en 15 minutos adicionales (según el sistema operativo), pero puede cambiar este valor editando el archivo sudoers. Se le pedirá que ingrese la contraseña si la contraseña ha caducado.
En el siguiente ejemplo, ampliamos el tiempo de caducidad de la contraseña mediante la opción -v.
sudo su
Un uso común de sudo es usarlo para ejecutar el comando su. Al usar el conocido comando le permite sbruja túservir al usuario raíz (predeterminado) o al usuario de su elección. Al ejecutar el conocido comando con sudono es necesario especificar la contraseña del usuario para acceder a ella.
Para cambiar al usuario root, escriba el siguiente comando en la terminal.
Después de usar el comando sudo su, será el usuario root o cualquier usuario que haya especificado. Permanecerás logueado como otro usuario hasta que entres salir en la terminal
El siguiente resultado muestra el inicio de sesión en el usuario raíz y el uso de exit para volver al usuario original.
Otorgar privilegios de sudo
Para que un usuario use el comando sudo, deberá tener privilegios de sudo. Con sudo, un usuario puede ejecutar comandos como usuario root, por lo que solo otorga privilegios a los usuarios en los que puede confiar.
Para otorgar privilegios de sudo, deberá agregar al usuario al grupo sudo en Ubuntu/Debian o al grupo de rueda en CentOS/Fedora. Puede configurar más las configuraciones editando el archivo sudoers usando visudo, pero lo cubriremos en otro tutorial.
Ubuntu o Debian
Para agregar un usuario al grupo sudo en Ubuntu o Debian, puede usar el comando usermod.
Para verificar si el usuario ahora está en el grupo sudo, puede usar el comando id.
CentOS o Fedora
Si está utilizando CentOS o Fedora, el nombre del grupo sudo es rueda. Puede usar el comando usermod para agregar el usuario al grupo.
Usando el comando id, puede confirmar que el usuario ahora es parte del grupo.
Más ayuda
Hay algunos métodos simples que puede usar para obtener más ayuda con el comando sudo.
El primer método utiliza el comando man integrado en la mayoría de los sistemas operativos Linux. Para cargar las páginas de manual para el comando, ingrese man seguido de sudo en la terminal.
Para salir de las páginas del manual, presione la tecla q.
También puede usar la opción -h o –help con el comando sudo para mostrar información de ayuda básica.
Con suerte, cualquiera de las opciones anteriores le dará la información que necesita.
Conclusión
Espero que ahora comprenda bien el comando sudo y cómo puede usarlo en una distribución de Linux. Este es un comando extremadamente útil para administrar tareas que requieren privilegios elevados.
Si es nuevo en Linux, querrá aprender algunos de los muchos otros comandos que puede usar. Por ejemplo, puede verificar la disponibilidad de su sistema o cambiar la contraseña de su usuario. Hay mucho que aprender sobre este sistema operativo increíblemente versátil.
Háganos saber si nota un error o si falta un tema importante en esta guía.
Actualizaciones semanales directamente a su bandeja de entrada
¡Reciba nuestros proyectos de Raspberry Pi, tutoriales de codificación, guías de Linux y más!
Gracias por suscribirse
Suscribir