Saltar al contenido

Cómo Usar El Comando Sudo Y El Archivo Sudoers

El comando sudo permite a los usuarios no root ejecutar otros comandos de Linux que normalmente requerirían privilegios de superusuario, mientras que el archivo sudoers le dice al sistema cómo manejar el comando sudo. En este tutorial, le mostraremos todos los conceptos básicos del comando sudo y cómo editar el archivo sudoers.

Como Usar El Comando Sudo Y El Archivo Sudoers

Entendiendo el comando sudo

Para comenzar a comprender cómo funciona sudo, primero acceda a su VPS a través de SSH. Si tienes problemas, consulta nuestro tutorial de PuTTY.

Por defecto, el usuario root no es necesario utilizar el prefijo sudo. Este ya tiene todos los privilegios posibles. Por otro lado, si un usuario no root desea agregar otro usuario, deberá anteponer sudo al comando useradd, así:

sudo useradd edward

Si el usuario no utiliza el prefijo sudo, recibirá un mensaje sobre el Permiso denegado.

1714973451 227 Como Usar El Comando Sudo Y El Archivo Sudoers

archivo sudoers

El comando sudo se configura a través de un archivo ubicado en /etc/ llamado sudoers.

Mediante el comando sudo, puede proporcionar privilegios de nivel administrativo a usuarios habituales. Normalmente, en un entorno VPS, el primer usuario creado al instalar Ubuntu tiene derechos sudo; Este usuario predeterminado se conoce como usuario root (usuario root) predeterminado. Puede configurar otros usuarios para que también puedan ejecutar el comando sudo. Esto se puede hacer editando sudoers.

Sintaxis del archivo sudoers

Puede abrir el archivo con su editor de texto favorito. Para el ejemplo que usamos cordillera:

vi /etc/sudoers

El archivo VPS tiene este aspecto:

Un ejemplo del archivo Sodoers de Linux

Veamos algunos de los formatos y reglas a seguir al editar sudoers:

  • Todas las líneas que comienzan con # estos son comentarios
  • raíz TODOS = (TODOS: TODOS) TODOS – esta línea significa que el usuario root tiene privilegios ilimitados y puede ejecutar cualquier comando en el sistema
  • %admin TODOS=(TODOS) TODOS – el signo % especifica un grupo. Cualquiera en el grupo de administradores tiene los mismos privilegios que el usuario root.
  • % sudo TODOS = (TODOS: TODOS) TODOS – todos los usuarios del grupo sudo tienen privilegios para ejecutar cualquier comando

Otra línea de interés es #includedir /etc/sudoers.d, esto significa que podemos agregar configuraciones al archivo sudoers.d y vincularlo a él.

Editando el archivo Sudoers

Para editar el archivo /etc/sudoersutilice el siguiente comando:

sudo visudo -f /etc/sudoers

Recomendamos usar visudo para editar el archivo sudoers. Visudo garantiza que los sudoers sean editados por un usuario a la vez y proporciona las comprobaciones de sintaxis necesarias.

Para ver qué usuarios están en el grupo sudo, puedes usar un comando grep:

grep ‘sudo’ /etc/group

Esto generará una lista de nombres de usuario.

Para agregar un usuario llamado ‘bill’ al grupo sudo, use el comando agregar usuario en la línea de comando, así:

adduser bill sudo

Si usa el comando grep para verificar quién está en el grupo, verá el nombre de usuario ‘bill’.

Si desea otorgar privilegios de root a alguien, simplemente agréguelos a sudo.

Para eliminar ‘bill’ como usuario sudo:

deluser bill sudo

El comando deluser eliminará la factura del grupo sudo.

Leer  Comandos Docker: arquitectura, ejemplos y explicación

Ahora ‘bill’ ya no podrá realizar acciones que requieran privilegios sudo.

Utilice el archivo sudoers para otorgar privilegios específicos

¿Qué sucede si desea que Bill pueda ejecutar solo tipos específicos de comandos con privilegios sudo, como en redes?

Primero, cree un archivo de configuración en /etc/sudoers.d/ llamada red.

Utilice el siguiente comando para crear el archivo:

sudo visudo -f /etc/sudoers.d/networking

Agregue el siguiente texto al archivo:

Cmnd_Alias     CAPTURE = /usr/sbin/tcdump
Cmnd_Alias     SERVERS = /usr/sbin apache2ctl, /usr/bin/htpasswd
Cmnd_Alias     NETALL = CAPTURE, SERVERS
%netadmin ALL=NETALL

Lo que hiciste en el archivo anterior fue crear un grupo netadmin. Los usuarios del grupo netadmin podrán ejecutar los comandos especificados en NETALL. NETALL, a su vez, incluye todos los comandos bajo los alias CAPTURE y SERVERS. El comando tcpdump está bajo el alias CAPTURE, es decir. /usr/sbin/tcpdump.

Luego puedes agregar ‘factura’ al grupo netadmin:

sudo adduser bill netadmin

Ahora ‘bill’ podrá ejecutar el comando tcpdump junto con otros comandos relacionados con la red.

Conclusión

Si trabaja con varios usuarios, es absolutamente imprescindible comprender el comando sudo y el archivo sudoers. ¡En este tutorial, aprendiste todos los conceptos básicos para tomar el control de los privilegios del sistema!

Compartir

Deja una respuesta