LINUX

Cómo agregar un usuario a Sudoers en Linux

administrar Linux sudo

El acceso Sudo permite a un usuario ejecutar todos los comandos permitidos como root o cualquier otro usuario. Una vez que se otorga acceso a sudo a un usuario específico en el archivo sudoers, ese usuario puede ejecutar comandos como root ejecutándolo con el prefijo sudo. Este usuario tiene acceso completo al sistema y solo debe usarse para tareas administrativas. Prácticamente no hay restricciones sobre lo que puede hacer con su sistema.

¿Qué es el archivo sudoers y cómo funciona el comando sudo?

los /etc/sudoers file controla quién puede ejecutar qué comandos y qué usuarios en qué máquinas, y también puede controlar cosas especiales como si necesita una contraseña para ciertos comandos. Cuando tiene un nuevo usuario en el sistema, debe decidir si ese usuario debe poder realizar tareas administrativas con sudo. Si el nuevo usuario va a ser un usuario raíz del sistema, por lo general desea habilitar los privilegios de sudo para que pueda realizar la configuración y el mantenimiento de rutina.

Es decir, si se le da acceso sudo al usuario Se sentó.puede enumerar los archivos en la carpeta protegida /root como sigue.

$ sudo ls /root

Te pedirá que ingreses tu contraseña (contraseña de usuario sam y no raíz clave). Una vez que haya iniciado sesión, se establecerá una marca de tiempo y podrá ejecutar sudo sin contraseña durante un breve período de tiempo. (predeterminado 5 minutos) después de lo cual se restablece la marca de tiempo.

Agregar usuario para acceso sudo en el archivo /etc/sudoers

Para dar acceso a los usuarios al comando sudo, necesitamos usar el comando visudo para editar /etc/sudoers expediente. Nunca debe editar este archivo con un editor de texto normal, pero siempre use el comando visudo. Si aún no ha asignado privilegios adicionales a ningún usuario, deberá iniciar sesión como root para acceder a este comando

# visudo

Esto bloqueará el archivo sudoers para evitar la modificación simultánea y no guardará los cambios en el archivo en caso de errores de sintaxis. Accederá a una sesión de edición de texto con el archivo que define los privilegios de sudo precargado. Necesitaremos agregar su usuario a este archivo para otorgar los derechos de acceso deseados.

En Centos, encuentre la línea «Permitir que root ejecute cualquier comando en cualquier lugar»

En el sistema Debian, busque la línea con «Especificación de privilegios de usuario»

La sintaxis para proporcionar acceso a sudo es la siguiente.

username host_list = (users) command
  • Nombre de usuario : Esto corresponde al usuario al que se le otorgará acceso sudo
  • host_list: Esto define los hosts a los que el usuario tiene acceso sudo
  • USUARIOS: Esto define a los usuarios en función de qué «nombre de usuario» puede ejecutar comandos
  • dominio : Esto define los comandos que el usuario puede ejecutar como root/otro usuario.

Podemos revisar algunos ejemplos de configuraciones de archivos sudoers para tener una idea clara de esto. Dependiendo de lo que desee permitir en su sistema (Debian o Centos), simplemente siga la sintaxis de las líneas que aparecen en la captura de pantalla anterior. En los siguientes casos, consideraremos solo el sistema Centos

A. Permitir que un usuario use sudo

Si desea permitir que un usuario específico ejecute cualquier comando como cualquier usuario en cualquier host, ingrese la línea a continuación. Nuestro usuario de ejemplo es Se sentó.

sam ALL=(ALL) ALL

b. Permite a los usuarios de un grupo específico ejecutar cualquier comando

Aquí, todos los usuarios de los administradores de grupo tienen derecho a ejecutar cualquier comando como cualquier usuario en cualquier host.

%admins ALL=(ALL) ALL

c. Permite que los comandos se ejecuten sin autenticación

Aquí, el mismo usuario puede ejecutar los comandos /bin/kill, /bin/ls y /usr/bin/lprm en localhost sin iniciar sesión.

sam localhost = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

D. Permite que se ejecuten comandos específicos como un usuario específico

Aquí, a Sam se le permite huir. /bin/ls como Jack y /bin/kill y /usr/bin/lprm como solo raíz en cualquier anfitrión.

sam ALL = (jack) /bin/ls, (root) /bin/kill, /usr/bin/lprm

Aquí, sam tiene permiso para ejecutar cualquier comando en la carpeta /usr/bin como root en cualquier host. Tenga en cuenta que una barra diagonal (/) no coincidirán con los comodines utilizados en el nombre de la ruta. Es decir, a sam no se le permite ejecutar binarios bajo /usr/bin/subfolder/*

sam ALL = /usr/bin/*

Aquí, sam tiene permiso para ejecutar cualquier comando en la carpeta /usr/bin como root que no sea /usr/bin/passwd en cualquier host

sam ALL = /usr/bin/* !/usr/bin/passwd

Usando el comando Sudo

Una vez que se proporciona acceso a sudo usando el archivo sudoers, puede ejecutar los comandos permitidos como root o como otro usuario usando el comando sudo. Podemos repasar algunos ejemplos de usos del comando sudo.

A. Operar en algunos servicios

Cuando desee operar un servicio, como un servidor web, un servicio de red o un servidor de base de datos, debe tener privilegios. Por ejemplo, si desea reiniciar su servidor web, debe usar el siguiente comando

$ sudo systemctl restart httpd.service

Si desea reiniciar el firewall, el procedimiento es el mismo

$ sudo systemctl restart firewalld

b. Ejecutar un comando como otro usuario

Con el comando sudo es posible ejecutar un comando como si fuéramos otro usuario del sistema.

sudo -u jack vi /home/jack/mail.php

Aquí -u La opción permitirá al usuario ejecutar el comando como jack.

c. Ejecute el comando ingresado previamente en sudo

Puede ejecutar un comando y falla porque olvidó ponerlo como prefacio sudo. Es posible volver a ejecutar el último comando con una función bash que, junto con sudo, hace que ese comando se ejecute directamente como root

sudo !!

El signo de exclamación doble repetirá el último comando. Lo precedí con sudo para cambiar rápidamente el comando sin privilegios a un comando privilegiado.

# ls -ld /
ls: /: Permission denied
# sudo !!
sudo ls -ld /
dr-xr-xr-x. 20 root root 4096 May 23 04:19 /

d. Usuario alternativo en el shell actual

Cuando crea un usuario, el comando sudo le permite cambiar a otro usuario directamente en el shell. Le permite ingresar el usuario al que desea cambiar

[root@centos-01 ~]# su - paul
[paul@centos-01 root]$

Puedes ver que en la segunda línea está el usuario paula que está conectado

Conclusión

Con sudo, un usuario normal puede ejecutar el comando raíz, siempre que un administrador del sistema le permita ejecutar el comando. Además de ejecutar el comando como root, un usuario puede ejecutar un comando como cualquier otro usuario si tiene permiso para hacerlo. Es fundamental comprender qué hace cada comando que ejecuta con privilegios de root.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar