他のユーザーになりすますには、sudoers でユーザー:グループを指定する必要がありますか?

他のユーザーになりすますには、sudoers でユーザー:グループを指定する必要がありますか?

sudoers ファイルで特定のユーザーが実行できるコマンドを制限しようとしていました。次のような内容があるとします。

dummy myserver=(ALL:ALL) /usr/sbin/reboot,/usr/sbin/shutdown

私のダミーユーザーには、システムの再起動とシャットダウンのみが許可されています。私は意図的にダミーユーザーが他のユーザーになりすますことを許可していますが、sudoの-uオプションを使用しようとすると、sudo -u anotheruser whoami

次のエラーが発生します:

Sorry, user dummy is not allowed to execute '/usr/bin/whoami' as anotheruser on myserver.

sudoersで偽装したいユーザーとグループを具体的に指定できることは理解していますが、ALL:ALLが機能しない理由が知りたいです。

ご回答いただければ幸いです。

答え1

(ALL:ALL)動作しますが、dummyユーザーは を実行することができませんwhoami/usr/bin/whoami許可されたコマンドのリストに追加する必要があります。現在のルールではまたはdummyを実行できるとされています。/usr/sbin/reboot/usr/sbin/poweroffどれでもユーザーとどれでもグループ。あなたは電話することができますsudo -u anotheruser /usr/sbin/reboot、それはシステムを再起動する失敗とは関係ありません須藤

さらに、システムには/usr/sbin/rebootおよび実行可能ファイルが存在しない可能性があります。これらは必須のコマンドなので、 にある必要があります。/usr/sbin/poweroff/sbin

要約:/etc/sudoersファイルには次のような行が含まれている必要があります。

dummy myserver=(ALL:ALL) /sbin/reboot, /sbin/poweroff, /usr/bin/whoami

関連情報