![如何防止执行 systemctl restart 或 systemctl poweroff?](https://linux22.com/image/88033/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%E6%89%A7%E8%A1%8C%20systemctl%20restart%20%E6%88%96%20systemctl%20poweroff%EF%BC%9F.png)
我经常通过 SSH 连接到小型 SBC,并且经常运行sudo systemctl reboot
或sudo systemctl poweroff
我的 SSH 会话经常在我没有注意到的情况下断开连接,并且我不小心重新启动了自己的计算机。有什么方法可以防止重新启动和关闭电源运行,或者更好地强制我在发出这些命令时输入 yes ?
我知道我可以为这些命令添加别名并重新训练我的大脑以停止键入这些命令,但这并不理想。另外,我仍然希望能够通过 sudo 运行 systemctl 的其余命令,因此我不想阻止整个 systemctl 在 sudo 下运行。
答案1
您可以使用reboot-guard
以防止工作站意外重新启动。例子:
在开始使用 SBC 之前的某个时间点激活:
# rguard -1
这会阻止所有类型的重新启动,例如shutdown -r now
从图形桌面环境触发的重新启动等。
当你确实想重新启动时,可以像这样释放锁定:
# rguard -0
Rguard 还具有一些高级选项,即根据外部环境进行更动态和自动的激活/停用。但基本功能对于许多用例来说应该足够了。
(在 Fedora 27 下测试过。)