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 ***.***.***.
NET에서 필요한 추가 구성으로 인해 이 명령이 실패할 것으로 추측됩니다 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
'그룹' 파일을 저장하고 다시 시도하세요.