다른 그룹 및 사용자 이름으로 sudo 명령을 실행할 수 있도록 sudoer를 구성하는 방법은 무엇입니까?

다른 그룹 및 사용자 이름으로 sudo 명령을 실행할 수 있도록 sudoer를 구성하는 방법은 무엇입니까?

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.sudoerssudo 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

'그룹' 파일을 저장하고 다시 시도하세요.

관련 정보