如何阻止存取關機但不重新啟動?

如何阻止存取關機但不重新啟動?

我有一台 ubuntu 電腦作為 plex 伺服器運行。我該如何獲得它,以便沒有人可以關閉計算機,而只允許用戶重新啟動計算機?我知道在 Windows 中可以,但我只是想知道在 ubuntu 上是否可以。

答案1

最有效的方法是屏蔽斷電目標,如下所示:

sudo systemctl mask poweroff.target

現在,任何人都無法關閉機器,除非他們按住電源按鈕或以物理方式斷開機器的電源。

重新啟動不受此遮罩的影響。


如果您將來需要關閉機器進行維護或更換硬件,您可以unmask

sudo systemctl unmask poweroff.target

答案2

如果您只需要授予非管理員使用者重新啟動的權力,sudoers您可以在文件中為它們新增一個條目reboot(和/或systemctl reboot,取決於您希望它們運行的內容)。然後他們將能夠運行sudo reboot(和/或sudo systemctl reboot)。這個答案假設他們無法以其他方式訪問sudo — 即,他們是普通的非管理員用戶,不屬於該wheel群組。

sudoers文件位於/etc/sudoers,但您不應該直接編輯它。相反,您應該只使用 來編輯它visudo。您需要成為 root 才能編輯它,因此您將運行sudo visudo.該visudo命令將驗證您編輯的語法,您應該始終使用它來避免破壞您的配置並阻止你自己將來獲得 root 存取權限。

然後您可以將類似以下行的內容新增到您的sudoers文件中:

username ALL=(root): /usr/sbin/reboot
username ALL=(root): /usr/bin/systemctl reboot

其中username是使用者的使用者名稱(或%groupname群組),其中路徑是系統上命令的實際路徑(使用 進行檢查which,例如which reboot.)。

欲了解更多信息,請查看man sudoers,man sudo, 和man visudo

相關內容