Archivo Sudoers, habilite NOPASSWD para el usuario, todos los comandos

Pregunta:

Prefacio

Esta es una pregunta bastante compleja relacionada con el archivo sudoers y el comando sudo en general.

NOTA: He realizado estos cambios en una máquina dedicada que ejecuta Ubuntu Desktop 13.04, que uso únicamente con fines de aprendizaje. Entiendo que es un gran riesgo de seguridad habilitar NOPASSWD sudo.

Pregunta

Inicialmente, mi único cambio en el archivo sudoers ( /etc/sudoers ) fue una línea, una especificación de usuario que debería haber habilitado a nicholsonjf para ejecutar todos los comandos con sudo sin tener que ingresar una contraseña (vea la línea que comienza con nicholsonjf):

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
nicholsonjf    ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Sin embargo, esto no funcionó, y todavía me pedían mi contraseña cada vez que ejecutaba un comando como nicholsonjf. Solo pude comenzar a ejecutar comandos sudo como nicholsonjf una vez que eliminé nicholsonjf de los grupos sudo y admin.

¿Alguien puede explicar por qué funcionó esto?

¿Es porque el usuario nicholsonjf estaba heredando los derechos de sudo de las dos especificaciones de grupo de admin y sudo (que se ven a continuación en el archivo sudoers), que anulaban la especificación de usuario de nicholsonjf porque estaban más abajo en el archivo de configuración?

Respuesta:

La línea que agregó se anuló. De man sudoers :

Cuando varias entradas coinciden para un usuario, se aplican en orden. Cuando hay varias coincidencias, se utiliza la última coincidencia (que no es necesariamente la coincidencia más específica).

En su caso, nicholsonjf era miembro del grupo sudo por lo que para él se aplicó esta línea:

%sudo   ALL=(ALL:ALL) ALL

Si desea anular las entradas en /etc/sudoers simplemente coloque las nuevas entradas después de ellas.

La nueva entrada debería verse así

myuser ALL=(ALL) NOPASSWD: ALL para un solo usuario, o

%sudo ALL=(ALL) NOPASSWD: ALL para un grupo.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım