GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar 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 indica 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.

Comprender Sudo

Para mostrar cómo funciona sudo, primero acceda a su VPS a través de SSH. Si tiene problemas, consulte el tutorial de PuTTY.

De forma predeterminada, el usuario root no necesita usar el prefijo sudo. Ya tienen todos los privilegios posibles. Mientras tanto, si un usuario no root desea agregar otro usuario, deberá agregar el prefijo sudo al comando useradd, así:

sudo useradd edward

Si el usuario no usa el prefijo sudo, recibirá un Permiso denegado salida.

El archivo Sudoers

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

A través del comando sudo, proporciona privilegios de nivel administrativo a los usuarios habituales. Normalmente, el primer usuario que crea al instalar Ubuntu tiene derechos de sudo. En un entorno de VPS, ese es el usuario raíz predeterminado. Puede configurar otros usuarios para que también puedan ejecutar el comando sudo. Eso se puede hacer editando sudoers.

Sintaxis del archivo Sudoers

Puede abrir el archivo con su editor de texto preferido. Usaremos vi :

vi /etc/sudoers

El archivo de nuestro VPS se ve así:

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

  • Todas las líneas que comienzan con # son comentarios
  • raíz TODO=(TODO:TODO) TODO – esta línea significa que el usuario raíz 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 administración 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 aquí.

Editando el archivo Sudoers

Para editar /etc/sudoers archivo, use el siguiente comando:

sudo visudo -f /etc/sudoers

Se recomienda usar visudo para editar el archivo sudoers. Visudo se asegura de que sudoers sea editado por un usuario a la vez y proporciona las comprobaciones de sintaxis necesarias.

Para ver qué usuarios están en el grupo sudo podemos 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, usamos adduser comando en la línea de comando, así:

adduser bill sudo

Si usamos el comando grep para verificar quién está en el grupo, veremos la factura del nombre de usuario.

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

Para eliminar un usuario de sudo:

deluser bill sudo

El comando deluser eliminará a bill del grupo sudo.

Ahora la factura del usuario ya no puede realizar acciones que requieran privilegios de sudo.

Utilice el archivo Sudoers para otorgar privilegios específicos

¿Qué pasa si queremos que bill pueda ejecutar solo tipos específicos de comandos con privilegios de sudo, como redes?

Para ello creamos un archivo de configuración en /etc/sudoers.d/ llamado redes.

Use el siguiente comando para crear el archivo:

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

Agregue el siguiente texto en el archivo:

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

Lo que hemos hecho en el archivo anterior es crear un grupo de administradores de red. Los usuarios del grupo netadmin pueden ejecutar 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.

A continuación, agregamos la factura del usuario al grupo de administradores de red:

sudo adduser bill netadmin

Ahora la factura del usuario podrá ejecutar el comando tcpdump junto con otros comandos relacionados con la red.

Conclusión

Si está trabajando con varios usuarios, comprender el comando sudo y el archivo sudoers es una necesidad absoluta. ¡En este tutorial, aprendió todos los conceptos básicos para tomar el control de los privilegios de su sistema!


Linux
  1. Cómo usar el comando Tar en Linux

  2. Cómo crear un alias y usar el comando Alias ​​en Linux

  3. ¿Cómo usar el comando basename?

  4. Cómo instalar y usar el comando ping en Linux

  5. ¿Cómo uso las líneas de un archivo como argumentos de un comando?

Cómo usar y aprovechar al máximo el comando fuser en Linux

Cómo usar el comando ftp de Linux para cargar y descargar archivos en el shell

¿Cómo usar el comando Gzip en Linux?

Cómo instalar y usar el comando de pantalla Ubuntu 20.04

Cómo instalar y usar el comando Ack en Linux

Perf de Linux:cómo usar el comando y el generador de perfiles