私のLinux Red Hatシステムでは、rootで次のことを行います。
# su - starus
$ <-- now I am in starus user
$ su - moon <-- now I want to access moon user from starus user
Password:
ところで、パスワードを入力するように求められます。
visudo
以下にパスワードが追加された場合は、そのパスワードを受け取った理由を教えてください。
moon ALL=(starus) NOPASSWD: ALL
何が問題なの?
また、Moonユーザーとして次のスクリプトを実行してみましたが、パスワードが必要です。
starus@host sudo -u moon /home/USER261/test.bash
[sudo] password for starus:
ベストアンサー1
まず、root
どのユーザーでも構いません。パスワードは不要です。これはスーパーユーザーの特権の一つです。したがって、プロンプトなしでsu - starus
に切り替えることができますstarus
。ただし、その時点ではstarus
これ以上ではないroot
ため、に切り替えるにはパスワードが必要ですmoon
。
簡単な解決策は、最初に切り替えてからroot
(実行)に切り替えることです。exit
moon
今visudo
ここでは問題ではありません。を使用していないため、編集されたファイルで行った変更はsudo
動作に影響を与えず、単に同じプログラムではないことです。/etc/sudoers
visudo
su
sudo
とにかく表示される行(moon ALL=(starus) NOPASSWD: ALL
)は、ユーザーがパスワードを入力しなくてもmoon
ユーザーとしてすべてのコマンドを実行できることを意味します。だからといって、誰もがパスワードを知らないかもしれないという意味ではありません。これは、次のコマンドにパスワードが必要ないことを意味します。starus
sudo
moon
moon
moon@host $ sudo -u starus command
ログインしている場合は、パスワードなしでコマンドを実行moon
できます。sudo
starus