Table of Contents
10 configuraciones útiles de Sudoers para configurar ‘sudo’ en Linux
En Linux y otros sistemas operativos similares a Unix, solo el usuario root. puede ejecutar todos los comandos y realizar ciertas operaciones críticas en el sistema, como instalar y actualizar, eliminar paquetes, crear usuarios y grupos, modificar archivos importantes de configuración del sistema, etc.
Sin embargo, un administrador del sistema que asume el rol de usuario root puede permitir que otros usuarios normales del sistema con la ayuda del comando sudo y algunas configuraciones ejecuten algunos comandos como así como llevar a cabo una serie de operaciones vitales del sistema, incluidas las mencionadas anteriormente.
Alternativamente, el administrador del sistema puede compartir la contraseña del usuario raíz (que no es un método recomendado) para que los usuarios normales del sistema tengan acceso a la cuenta de usuario root a través del comando su.
sudo. permite a un usuario autorizado ejecutar un comando como root (u otro usuario), según lo especificado por el política de seguridad:
- Lee y analiza /etc/sudoers. busca la i nvocando al usuario y sus permisos,
- luego solicita al usuario que invoca una contraseña (normalmente la contraseña del usuario, pero también puede ser la contraseña del usuario objetivo. O se puede omitir con la etiqueta NOPASSWD),
- después de eso, sudo crea un proceso secundario en el que llama a setuid (). para cambiar al usuario de destino
- luego, ejecuta un shell o el comando dado como argumentos en el proceso hijo anterior.
A continuación se muestran diez configuraciones de archivo /etc/sudoers. para modificar el comportamiento del comando sudo. usando entradas Defaults.
$ sudo cat/etc/sudoers/etc/sudoers File # # Este archivo DEBE ser editado con el ‘visudo’ comando como root. # # Considere agregar contenido local en/etc/sudoers.d/en lugar de # modificar directamente este archivo. # # Consulte la página del manual para obtener detalles sobre cómo escribir un archivo sudoers. # Valores predeterminados env_reset Valores predeterminados mail_badpass Valores predeterminados ruta_segura = “/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin” Defaults logfile = “/var/log/sudo.log” Defaults lecture = “always” Defaults badpass_message = “La contraseña es incorrecta, inténtelo de nuevo” Defaults passwd_tries = 5 Defaults insults Defaults log_input, log_output. Tipos de Defaults Entradas Defaults parámetro, lista_parámetros #afecta a todos los usuarios en cualquier host [protegido por correo electrónico] _Lista parámetro, lista_parámetros #afecta a todos los usuarios en un host específico Defaults: parámetro User_List, parámetro_list #afecta a un usuario específico Defaults! Parámetro Runas_List, parameter_list #afecta a los comandos que se ejecutan como un usuario específico freestar.config.enabled_slots.push
Para el alcance de esta guía, se reducirá a cero hasta el primer tipo de valores predeterminados. en los formularios siguientes. Los parámetros pueden ser banderas, valores enteros, cadenas o listas.
Debe tener en cuenta que las banderas son implícitamente booleanas y pueden desactivarse usando ‘!’ operador, y las listas tienen dos operadores de asignación adicionales, + = (agregar a la lista) y-= (eliminar de la lista).
Parámetro predeterminado O parámetro predeterminado = valor O parámetro predeterminado-= valor parámetro predeterminado + = valor O predeterminado ! parámetro
1. Establecer una RUTA segura
Esta es la ruta utilizada para cada comando que se ejecuta con sudo, tiene dos importancias:
- Se usa cuando un administrador del sistema no confía en que los usuarios de sudo tengan una variable de entorno PATH segura
- Para separar la “ruta raíz” y la “ruta del usuario”, solo los usuarios definidos por exet_group. no se ven afectados por esta configuración.
Para configurarlo, agregue la línea:
Defaults secure_path = “/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin “
2. Habilitar sudo en la sesión de inicio de sesión de usuario de TTY
Para permitir que sudo sea invocado desde un tty. real pero no a través de métodos como cron. o cgi-bin. agregue la línea:
Los valores predeterminados requierentty
3. Ejecutar el comando Sudo usando un pty
Algunas veces, los atacantes pueden ejecutar un programa malicioso (como un virus o malware) usando sudo, que nuevamente bifurcaría un proceso en segundo plano que permanece en el dispositivo terminal del usuario incluso cuando el programa principal ha terminado de ejecutarse.
Para evitar tal escenario, puede configurar sudo para ejecutar otros comandos solo desde un psuedo-pty. usando el parámetro use_pty, ya sea I/O el registro está activado o no de la siguiente manera:
Valores predeterminados use_pty
4. Cree un archivo de registro de Sudo
De forma predeterminada, sudo registra a través de syslog (3). Sin embargo, para especificar un archivo de registro personalizado, use el parámetro logfile así:
Valores predeterminados logfile = “/var/log/sudo.log”
Para registrar el nombre de host y el año de cuatro dígitos en el archivo de registro personalizado, use log_host. y log_year. parámetros respectivamente de la siguiente manera:
Valores predeterminados log_host, log_year, logfile = “/var/log/sudo.log”
A continuación se muestra un ejemplo de un archivo de registro de sudo personalizado:
Crear archivo de registro de Sudo personalizado
5. Log Sudo Command Input/Output
Los parámetros log_input. y log_output. permiten que sudo ejecute un comando en pseudo-tty y registre todas las entradas y salidas del usuario enviado a la pantalla de forma receptiva.
El directorio de registro de E/S predeterminado es /var/log/sudo-io. y si hay un número de secuencia de sesión, se almacena en este directorio. Puede especificar un directorio personalizado mediante el parámetro iolog_dir.
Valores predeterminados log_input, log_output
Se admiten algunas secuencias de escape, como% seq, que se expande a una base que aumenta monótonamente. 36 números de secuencia, como 000001, donde cada dos dígitos se utilizan para formar un nuevo directorio, p. Ej. 00/00/01. como en el siguiente ejemplo:
$ cd/var/log/sudo-io/$ ls $ cd 00/00/01 $ ls $ cat log
Log sudo Input Output
Puede ver el resto de los archivos en ese directorio usando el comando cat.
6. Lecture Sudo Users
Para sermonear a los usuarios de sudo sobre el uso de contraseñas en el sistema, utilice el parámetro lecture. como se muestra a continuación.
Tiene 3 valores posibles:
- siempre-siempre sermonear a un usuario.
- una vez-solo sermonear a un usuario la primera vez que ejecute el comando sudo (esto se usa cuando no se especifica ningún valor)
- nunca-nunca sermonee al usuario.
Defaults lecture = “always”
Además, puede configurar un archivo de clase personalizado con el parámetro lecture_file. escriba el mensaje en el archivo:
Valores predeterminados lecture_file = “/ruta/a/archivo”
Lecture Sudo Users
7. Mostrar mensaje personalizado cuando ingresa una contraseña incorrecta de sudo
Cuando un usuario ingresa una contraseña incorrecta, se muestra un determinado mensaje en la línea de comando. El mensaje predeterminado es “ lo siento, inténtalo de nuevo. , puedes modificar el mensaje usando el parámetro badpass_message. de la siguiente manera:
Defaults badpass_message = “La contraseña es incorrecta, por favor inténtelo de nuevo “
8. Aumentar el límite de intentos de contraseña de sudo
El parámetro passwd_tries. se usa para especificar la cantidad de veces que un usuario puede intentar ingresar una contraseña.
El valor predeterminado es 3:
Valores predeterminados passwd_tries = 5
Aumentar los intentos de contraseña de Sudo
Para establecer un tiempo de espera de contraseña (predeterminado es de 5 minutos) usando el parámetro passwd_timeout. agregue la línea a continuación:
Defaults passwd_timeout = 2
9. Deje que Sudo lo insulte cuando ingrese una contraseña incorrecta
En caso de que un usuario ingrese una contraseña incorrecta, sudo mostrará insultos en el terminal con el parámetro insultos. Esto desactivará automáticamente el parámetro badpass_message.
Los valores predeterminados insultos
Permita que Sudo lo insulte cuando ingrese una contraseña incorrecta
Leer más. Permita que Sudo lo insulte cuando ingrese una contraseña incorrecta
10. Más información sobre las configuraciones de Sudo
Además, puede aprender más sobre las configuraciones de comandos sudo. leyendo: Diferencia entre su y sudo y Cómo configurar sudo en Linux.
¡Eso es! Puede compartir otras configuraciones de comandos sudo útiles o trucos y consejos con los usuarios de Linux a través de la sección de comentarios a continuación.