コマンドを使用してユーザーに切り替えようとした場合sudo su - kshitiz
。うまく機能し、パスワードを入力せずに切り替えることができます。
ただし、そのユーザーでスクリプトを実行しようとすると、パスワードの入力を求められます。
sudo -u kshitiz bash << EOF
> cat /home/ri/secret.txt
> EOF
なぜですか?
修正する:
User ksh may run the following commands on this host:
(root) NOPASSWD: /bin/su - kshitiz
ベストアンサー1
識別されたsudo
とおりにのみ許可されるように設定されているため、sudo su - kshitiz
2番目のコマンドは失敗する可能性があります。
それにもかかわらず、同じユーザー切り替えは発生しません。
sudo su - kshitiz
su - kshitiz
次に実行します。パスワードなしで実行root
できる場合、ユーザーを変更するときにパスワードを要求されないため、パスワードはまったく尋ねられません。sudo
root
su -
root
sudo -u kshitiz
パスワードを要求しないようにするには、直接sudo
トグルを要求するために独自の設定が必要です。kshitiz
ユーザーが何でも実行できるように許可されている場合
sudo su - kshitiz -c bash ...
動作します。sudo
許可するように設定することもできます。
sudo -u kshitiz ...
パスワードなし。