
CentOS 6.10 でサーバーをセットアップしていますが、sudo を使用してユーザーをセットアップすると、sudo がパスワードを要求しないことがわかりました。同じ (完全な) sudo 権限を持つ別のユーザーをセットアップすると、パスワードが要求されます。
ユーザーを明示的に設定し、同じ動作で wheel グループに追加することの両方を試しました。また、パスワード タイムアウトを 0 に設定しましたが、変更はありませんでした。
[root@noaspare ~]# su mysql
bash-4.1$ ls -l ls:
cannot open directory.: Permission denied
bash-4.1$ sudo ls -l
[sudo] password for mysql: (Ctrl-C)
bash-4.1$ exit
[root@noaspare ~]# su ssi
[ssi@noaspare /root]$ ls
ls: cannot open directory .: Permission denied
[ssi@noaspare /root]$ sudo ls
anaconda-ks.cfg install.log install.log.syslog rpmbuild
ssi の sudo -l を実行すると次のようになります:
Matching Defaults entries for ssi on this host:
requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE
INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME > LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET
XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin,
timestamp_timeout=0
User ssi may run the following commands on this host:
Sudoers entry:
RunAsUsers: ALL
Commands:
ALL
この設定でパスワードが要求されない理由をご存知ですか? 2 人のユーザーの違いはシェルだけであることが分かりますが、それがなぜ重要なのかわかりません。
ユーザー固有の唯一の行は
ssi ALL=(ALL) ALL
答え1
問題が何であるかがわかったとき、解決策は単純かつ論理的であることがわかりました。ユーザーには何らかの理由でパスワードが定義されていませんでした (ただし、これは起こり得ることです)。ユーザーにパスワードを設定した後、sudo も期待どおりに機能しました。