正常想来没错:shutdown / reboot 如果可以不用 root 权限那还了得?然而其实至少在 RHEL 7.2 上并不绝对是这样子。当出现以下的特殊情况时:
- 是当前唯一登录的用户;
- 直接调用 reboot,或 shutdown 带了 now 参数;
- 登录会话来自本地物理终端。
我用 RHEL 7.2 默认安装的「基础设施服务器」进行的测试。Debian 9 没有这个问题。我想这样的做法大概思路是:「如果你都摸到物理服务器边上,急着要马上关机,并且我认为这不会影响到其他人,那么当然可以让你关机,因为就算不让你关机你也可以拔电源线对吧?」
当然,这种想法应该没有考虑到服务器上运行爬虫之类的情况。我没有做更多测试,也许如果有一个别人的 daemon 进程就会使得结果不一样。不过我想这个事情可以提醒我们的是:Linux 的事情不要想当然,也不要网上说什么都信。不要把一切都交给系统默认安全性设置,对于普通用户还是乖乖地把权限控制严格点比较好。
没有评论:
发表评论