visudo+他のユーザーからユーザーにアクセスする方法

visudo+他のユーザーからユーザーにアクセスする方法

私の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(実行)に切り替えることです。exitmoon

visudoここでは問題ではありません。を使用していないため、編集されたファイルで行った変更はsudo動作に影響を与えず、単に同じプログラムではないことです。/etc/sudoersvisudosusudo

とにかく表示される行(moon ALL=(starus) NOPASSWD: ALL)は、ユーザーがパスワードを入力しなくてもmoonユーザーとしてすべてのコマンドを実行できることを意味します。だからといって、誰もがパスワードを知らないかもしれないという意味ではありません。これは、次のコマンドにパスワードが必要ないことを意味します。starussudomoonmoon

moon@host $ sudo -u starus command

ログインしている場合は、パスワードなしでコマンドを実行moonできます。sudostarus

おすすめ記事