J'ai un problème assez étrange avec sudo
Debian 8. Les utilisateurs ne peuvent pas exécuter certaines commandes dans /etc/sudoers.d
. J'utilise Chef pour distribuer les configurations, donc tous les fichiers sont générés automatiquement.
Exemple:
Cette config fonctionne très 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
Et cela échoue:
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'est-ce qui ne va pas?
Diagnostique:
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
#
comme commentaire et dans le cadre d'une directive ainsi qu'à ignorer les fichiers. Fait intéressant (irritant),visudo -f some.file
il ne prévient pas qu'il sera probablement ignoré lors de la sortie. L'albatros queruleux peut être calmé par un simple vote positif.*.cf
), mais il se pourrait alors que la fonctionnalité ait été ajoutée par la suite et certains utilisateurs se plaindraient de toute façon d'être forcés d'utiliser une extension définie.Essayez et exécutez
sudo -ll
pour obtenir une liste des commandes / config applicables à votre utilisateur.Si (comme cela semble être le cas) votre clause update-rc.d n'apparaît pas, vous pouvez envisager d'ajuster vos recettes de chef pour déployer un seul fichier sudoers.d par utilisateur, plutôt que plusieurs.
Vous pouvez également déterminer si un fichier sudoers lié à un groupe peut être justifié.
Les réponses à cette question pourraient aider: /ubuntu/246455/how-to-give-nopasswd-access-to-multiple-commands-via-sudoers
la source