web-dev-qa-db-ja.com

Amazon EC2インスタンスのSudo suでのパスワードの設定

私たちのステージングサーバーは、Amazon EC2インスタンス上にあります。 sshでログインすると、パスワードを入力せずにSudoコマンドまたはSudo suを実行できます。

とにかく、ユーザーがSudoを使用してコマンドを試行するときにパスワードを要求できますか?アクセスを必要とするサードパーティの開発者がいて、それらのroot権限を制限したい。

Sudo passwdでパスワードを設定してみましたが、パスワードは必要ありません。

~$ Sudo passwd root
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
~$ Sudo su
/home/ubuntu# exit
~$ Sudo passwd
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
~$ Sudo su
/home/ubuntu#

[〜#〜]更新[〜#〜]

Sudo visudoを実行して次のように追加することで、パスワードを要求してみました。

ubuntu        ALL=(ALL)       ALL

パスワードを要求されましたが、設定したパスワードが機能しません。幸いにも、これを始める前にAMIを作成しました。

ubuntuユーザーのパスワードが設定されていないことが問題である可能性があります。Sudo passwd ubuntuではなくSudo passwd rootを実行する必要があります。


最終的解決

明確にするために、私の間違いは私が間違ったユーザーのパスワードを設定したことでした、rootに設定しようとしましたが、ubuntuwith:

~$ Sudo passwd ubuntu

次に、/ etc/sudoersを更新して、ubuntuユーザーがSudoコマンドを実行するときのパスワード。このファイルを編集するには、Sudo visudoを実行して以下を追加する必要があります。

ubuntu        ALL=(ALL)       ALL
6
Holly

次のような行がある場合

ALL ALL=(ALL) NOPASSWD:ALL

/ etc/sudoersでは、これにより、すべてのユーザーがパスワードの入力を求められることなくSudoを実行できるようになります。この行をコメント解除する場合は、たとえば、Sudoの使用を許可するユーザーを指定する必要があります。

myuser ALL=(ALL) ALL
7
SteffenNielsen

Sudoは資格情報をキャッシュするため、短期間に複数回使用した場合、初回のみパスワードの入力を求められます。

マンページは言う:

   timestamp_timeout
                     Number of minutes that can elapse before Sudo will
                     ask for a passwd again.  The timeout may include a
                     fractional component if minute granularity is
                     insufficient, for example 2.5.  The default is 5.
                     Set this to 0 to always Prompt for a password.  If
                     set to a value less than 0 the user's time stamp
                     will never expire.  This can be used to allow users
                     to create or delete their own time stamps via "Sudo
                     -v" and "Sudo -k" respectively.

したがって、常にパスワードを要求する場合は、単にSudo visudoと入力してファイルを編集します。この行を追加します。

Defaults        timestamp_timeout=0

これには、すべてのSudoコマンドにパスワードを入力する必要があります。

4
Jenny D