man 5 sudoers
dice (sección "Formato de archivo 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).
Así que deberías tener estas líneas exactamente en este orden:
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
y cualquier línea que también coincida (por ejemplo, %sudo ALL=(ALL:ALL) ALL
) debe estar antes del NOPASSWD
línea.
Nota general:#include
y #includedir
permitir sudoers
para incluir otros archivos . No dejes que #
te engañe, estos no comentarios Al buscar entradas que puedan interferir, no debe omitir lo que #include
y #includedir
apunta a. Opción útil:sudo -l
.
A menudo encontrará una línea como esta en /etc/sudoers
:
# Allow members of group sudo to execute any command
%wheel ALL=(ALL:ALL) ALL
Esto permitirá que cualquier usuario que esté en la "rueda " grupo para hacer uso de sudo
con una prueba de identidad adecuada (por ejemplo, su contraseña). El grupo nominado también puede ser "sudo ", "administrador ", u otros... (por ejemplo:la línea comienza con %sudo
)
Si esto está presente en el archivo, ejecute id
para ver en qué grupos estás:
$ id
uid=1000(attie) gid=1000(attie) groups=1000(attie),27(sudo),117(docker)
Si su usuario no está en el grupo apropiado, entonces debe agregar su usuario a ese grupo.
Una alternativa sería enumerar ambas reglas una por una, con la última regla coincidente en vigor (es decir, el orden es importante):
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Consulte la página de ArchWiki en sudo:https://wiki.archlinux.org/index.php/sudo#Example_entries