sudo - ユーザーはパスワードを入力する必要はありません。

sudo - ユーザーはパスワードを入力する必要はありません。

私たちはcentos 6.10を使用してサーバーを設定していますが、sudoを使用してユーザーを設定すると、sudoはパスワードを要求しないことがわかりました。同じ(フル)sudo権限を持つ別のユーザーを設定すると、パスワードの入力を求められます。

ユーザーを明示的に設定し、同じ動作でホイールグループに追加してみました。また、パスワードタイムアウトを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も期待どおりに機能します。

関連情報