當使用者透過 SSH 連線時,如何在 14.04 中停用關閉或重新啟動?

當使用者透過 SSH 連線時,如何在 14.04 中停用關閉或重新啟動?

我的辦公室裡有一組 Ubuntu Trusty 桌上型電腦,通常我透過 ssh 連接到它們並從命令列遠端安裝更新。不幸的是,有時本地用戶決定關閉這些電腦,中斷更新過程。

我想防止這些使用者在 SSH 會話處於活動狀態時關閉、重新啟動或掛起他們的電腦。我該怎麼做?

我已經嘗試過了molly-guard,但並沒有阻止 GUI 用戶關閉系統(它似乎不會影響 GUI 用戶)。
我也看到了這個問題,但不明白它是否也適用於 Ubuntu 14.04 LTS(而且我不知道如何應用它):
如果有其他使用者透過 ssh 登錄,則停用關閉/掛起

答案1

如果您具有管理員權限,可以使用 PolKit 策略來完成此操作。

在(例如)中建立一個.pkla文件,其中包含:/etc/polkit-1/localauthority/50-local.ddisable-shutdown.pkla

[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

-multiple-sessions部分適用於多個使用者登入時 - 沒有該後綴也有類似的操作。據我所知,這會停用 GUI 中的這些操作。

請注意,此方法僅阻止從 GUI 發出的重新啟動等命令。若要阻止重新啟動等來自命令列的命令,可以使用 molly-guard - 如中所述停用所有使用者(甚至 root)的關機命令 - 後果是什麼?

相關內容