Linux

我是否需要在 sudoers 中指定 user:group 來模擬其他使用者

  • January 31, 2020

我試圖限制特定使用者可以在 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 不起作用

我將不勝感激您的回答。

(ALL:ALL)確實有效,您的使用者dummy只是不允許執行whoami。您應該添加/usr/bin/whoami到允許的命令列表中。您目前的規則說dummy可以執行/usr/sbin/reboot/usr/sbin/poweroff作為任何使用者和任何組執行。你可以打電話,重啟系統失敗與sudosudo -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

引用自:https://serverfault.com/questions/1001182