我有一台 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
。