오류 메시지를 sudoers
방지하도록 구성하는 방법 .Sorry, user ****** is not allowed to execute
배경
권한이 낮은 사용자 및 그룹 데몬 계정에서 Python 스크립트가 어떻게 실행되는지 테스트하려면 다음을 실행해야 합니다.
$ sudo -u _denyhosts -g _denyhosts python /usr/local/bin/denyhosts.py
-c /usr/share/denyhosts/denyhosts.cfg -n --purge --sync --verbose
결과 :
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 ***.***.***.
이 명령은 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
_denyhosts
다음 줄을 실행하고 삽입하여 그룹 추가를 시도했습니다 .sudoers
sudo visudo
%_denyhosts ALL=(ALL) ALL
저장하고 다시 시도해도 개선되지 않았습니다.
답변1
이 줄은 그룹의 사용자가 모든 사용자로서 모든 명령을 실행할 수 있음을 %_denyhosts ALL=(ALL) ALL
의미합니다 . _denyhosts
이것은 당신이 원하는 것이 아닙니다. 사용자가 ******
사용자 및 그룹으로 명령을 실행할 수 있도록 허용해야 합니다. 그것은 다음과 같습니다:_denyhosts
_denyhosts
****** ALL = (_denyhosts : _denyhosts) ALL
답변2
_denyhosts의 사용자가 sudoers 파일에 추가되더라도 이 명령을 실행할 수 있도록 하려는 사용자가 /etc/group의 _denyhosts 그룹에도 추가되는지 확인해야 합니다.
$ sudo vi /etc/group
*snip*
_denyhosts:x:###:username1,username2,username3
"그룹" 파일을 저장하고 다시 시도하십시오.