我的肮脏解决方案是chmod +s /sbin/shutdown
。它有效,但这可能不是好的做法,而且不安全。此外,在某些系统更新后,suid 位会被重置。正确的做法是什么?
答案1
所有用户?还是其中选定的子集?他们将在本地使用计算机还是远程使用计算机(例如通过 ssh)。
如果有几个用户也远程工作须藤可以正常工作。请参阅此链接了解详情。
如果他们通过 GUI 本地登录,那么还有更好的选择。例如,通过 init 捕获三指手势,并让其触发 1 分钟延迟关机。不过,我已经很久没有设置它了,所以我跳过了细节。(我在 Slackware 3 还很现代的时候就用过它了)
答案2
如果您shutdown
接受-a
转换(使用 确认shutdown --help
),您可以执行以下操作:
添加有权关闭系统的用户
/etc/shutdown.allow
。例子:
userA userB
使用开关关闭系统
-a
。例子:
shutdown -a -h now
答案3
我使用 SL 6.4。它具有由 usermode 包提供的用户版 poweroff、halt、reboot。我可以以普通用户身份关机、重启(也可以从命令行)
$ which {poweroff,reboot,halt}
/usr/bin/poweroff
/usr/bin/reboot
/usr/bin/halt
rpm -qf $(which poweroff reboot halt)
usermode-1.102-3.el6.x86_64
usermode-1.102-3.el6.x86_64
usermode-1.102-3.el6.x86_64
以 root 身份
# which {poweroff,reboot,halt}
/sbin/poweroff
/sbin/reboot
/sbin/halt
# rpm -qf $(which poweroff reboot halt)
upstart-0.6.5-12.el6.x86_64
upstart-0.6.5-12.el6.x86_64
upstart-0.6.5-12.el6.x86_64