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
「グループ」ファイルを保存して再試行してください。