Tengo un problema bastante extraño con sudo
Debian 8. Los usuarios no pueden ejecutar algunos de los comandos en /etc/sudoers.d
. Utilizo Chef para distribuir configuraciones, por lo que todos los archivos se generan automáticamente.
Ejemplo:
Esta configuración funciona bien
root@server:~# cat /etc/sudoers.d/nginx
# This file is managed by Chef.
# Do NOT modify this file directly.
user ALL=(root) NOPASSWD:/usr/sbin/nginx
Y esto falla:
root@server:~# cat /etc/sudoers.d/update-rc.d
# This file is managed by Chef.
# Do NOT modify this file directly.
user ALL=(root) NOPASSWD:/usr/sbin/update-rc.d
user@www42:~$ sudo update-rc.d
[sudo] password for user:
Sorry, user user is not allowed to execute '/usr/sbin/update-rc.d' as root on server.
¿Qué puede estar mal?
Diagnósticos:
Mar 5 12:12:51 server sudo: user : command not allowed ; TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/sbin/update-rc.d
Mar 5 12:14:25 www42 su[1209]: pam_unix(su:session): session closed for user user
root@server:~# sudo --version
Sudo version 1.8.10p3
Configure options: --prefix=/usr -v --with-all-insults --with-pam --with-fqdn --with-logging=syslog --with-logfac=authpriv --with-env-editor --with-editor=/usr/bin/editor --with-timeout=15 --with-password-timeout=0 --with-passprompt=[sudo] password for %p: --disable-root-mailer --with-sendmail=/usr/sbin/sendmail --with-rundir=/var/lib/sudo --mandir=/usr/share/man --libexecdir=/usr/lib/sudo --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu --with-selinux --with-linux-audit
Sudoers policy plugin version 1.8.10p3
Sudoers file grammar version 43
#
como comentario y como parte de una directiva, así como ignorar archivos. Curiosamente (irritantemente)visudo -f some.file
no advierte que es probable que se ignore al salir. El albatros querulo puede calmarse con un simple voto a favor.*.cf
), pero luego podría ser que la característica se agregó después y algún usuario se quejaría de todos modos por verse obligado a usar una extensión establecida.Intente ejecutar
sudo -ll
para obtener una lista de los comandos / configuración aplicables a su usuario.Si (como parece ser el caso) su cláusula update-rc.d no aparece, podría considerar ajustar sus recetas de chef para implementar un solo archivo sudoers.d por usuario, en lugar de varios.
También puede considerar si un archivo sudoers relacionado con el grupo podría estar justificado.
Las respuestas de esta pregunta podrían ayudar: /ubuntu/246455/how-to-give-nopasswd-access-to-multiple-commands-via-sudoers
fuente