次のコマンドでls
ユーザーとして実行しようとするとabc
、エラーが発生します。
xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.
しかしsu abc
、実行してから実行しls
ても問題はありません
次のコマンドでls
ユーザーとして実行しようとするとabc
、エラーが発生します。
xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.
しかしsu abc
、実行してから実行しls
ても問題はありません
回答:
ユーザーxyzがユーザーabcとして何かを実行できるように、sudoセキュリティポリシーを設定する必要があります。「man sudoers」を読み、visudoコマンドを使用して/ etc / sudoersを構成します。
たとえば、ユーザーxbc exec / usr / bin / whoamiをパスワードなしのユーザーabcとして許可しましょう。この文字列を/ etc / sudoersに追加します(visudoでは、/ etc / sudoersを直接編集しないでください):
xyz ALL = (abc) NOPASSWD: /usr/bin/whoami
そして今それをテストします:
xyz@host:~$ sudo -u abc /usr/bin/whoami
abc
すべてが順調に見えても、まだSorry user xxx cannot execute...
メッセージが表示されており、sudo
パスワードを毎回ます。
あなたはこれを行うことができます:
/etc/sudoers
、ユーザー設定の削除ラインこれは私のために働いた。電子メールからの実行が必要なコマンドをコピーしたため、その行の終わりが悪いことがわかりました。
visudo
そもそもそれを編集するために使用したことがあるなら、あなたはそれを言われたでしょうか?