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

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

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

相關內容