Como configurar sudoers
para evitar a Sorry, user ****** is not allowed to execute
mensagem de erro.
Fundo
Com o propósito de testar como um script python em uma conta de usuário e grupo daemon menos privilegiada, é necessário executar:
$ sudo -u _denyhosts -g _denyhosts python /usr/local/bin/denyhosts.py
-c /usr/share/denyhosts/denyhosts.cfg -n --purge --sync --verbose
O resultado é:
Sorry, user ****** is not allowed to execute
'/usr/bin/python /usr/local/bin/denyhosts.py -c /usr/share/denyhosts/denyhosts.cfg
-n --purge --sync --verbose' as _denyhosts:_denyhosts on ***.***.***.
A suposição é que este comando falha devido a uma configuração extra necessária no sudoers
.
$ sudo -l
Matching Defaults entries for *** on this host:
editor=/usr/bin/nano, env_reset, env_keep+=BLOCKSIZE, env_keep+="COLORFGBG
COLORTERM", env_keep+=__CF_USER_TEXT_ENCODING, env_keep+="CHARSET LANG
LANGUAGE LC_ALL LC_COLLATE LC_CTYPE", env_keep+="LC_MESSAGES LC_MONETARY
LC_NUMERIC LC_TIME", env_keep+="LINES COLUMNS", env_keep+=LSCOLORS,
env_keep+=SSH_AUTH_SOCK, env_keep+=TZ, env_keep+="DISPLAY XAUTHORIZATION
XAUTHORITY", env_keep+="EDITOR VISUAL", env_keep+="HOME MAIL"
User *** may run the following commands on this host:
(ALL) ALL
Já tentei adicionar o grupo _denyhosts
executando sudoers
e sudo visudo
inserindo a linha:
%_denyhosts ALL=(ALL) ALL
Salvar e tentar novamente não melhora.
Responder1
A linha %_denyhosts ALL=(ALL) ALL
significa que os usuários do _denyhosts
grupo têm permissão para executar qualquer comando como qualquer usuário. Não é isso que você está tentando fazer: você precisa permitir que o usuário ******
execute comandos como o usuário _denyhosts
e o grupo _denyhosts
. Algo como:
****** ALL = (_denyhosts : _denyhosts) ALL
Responder2
Você precisará garantir que, mesmo que os usuários em _denyhosts tenham sido adicionados ao arquivo sudoers, os usuários que você deseja que possam executar este comando sejam adicionados ao grupo _denyhosts em /etc/group.
$ sudo vi /etc/group
*snip*
_denyhosts:x:###:username1,username2,username3
Salve o arquivo 'grupo' e tente novamente.