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

이 명령은 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

"그룹" 파일을 저장하고 다시 시도하십시오.

관련 정보