Eu tenho um problema bastante estranho sudo
no Debian 8. Os usuários não podem executar alguns dos comandos no /etc/sudoers.d
. Eu uso o Chef para distribuir configurações, para que todos os arquivos sejam gerados automaticamente.
Exemplo:
Esta configuração funciona bem
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
E isso falha:
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.
O que pode estar errado?
Diagnóstico:
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 comentário e como parte de uma diretiva, além de ignorar arquivos. Curiosamente (irritante)visudo -f some.file
não avisa que é provável que seja ignorado ao sair. Albatroz querulous pode ser acalmado por um simples voto positivo.*.cf
), mas pode ser que o recurso tenha sido adicionado posteriormente e algum usuário reclamará de qualquer maneira sobre ser forçado a usar uma extensão definida.Tente executar
sudo -ll
para obter uma lista dos comandos / configurações aplicáveis ao seu usuário.Se (como parece ser o caso) sua cláusula update-rc.d não aparecer, considere ajustar suas receitas de chef para implantar um único arquivo sudoers.d por usuário, em vez de vários.
Você também pode considerar se um arquivo de sudoers relacionados ao grupo pode ser garantido.
As respostas desta pergunta podem ajudar: /ubuntu/246455/how-to-give-nopasswd-access-to-multiple-commands-via-sudoers
fonte