shutdown
关于为什么需要root 权限有很多疑问reboot
。也有很多很好的答案。
但有些事我不明白:如果能够在没有 root 权限的情况下重启或关机多用户系统是一个很坏想法...那么为什么在 Ubuntu 16.04 中可以实现这一点?
当我在终端中输入poweroff
或并点击时,它确实关闭/重新启动!reboot
Enter
poweroff
当和reboot
不需要 root 权限时,对我来说没问题...但为什么 需要 root 权限?当我在终端中suspend
输入并点击时,它不会暂停,而是卡住了...而当我运行 时,它需要。suspend
Enterpm-suspend
sudo
答案1
对我来说,在 Ubuntu 16.04 上都不poweroff
需要reboot
密码。
但是,为了实现这一点,我必须创建一个名为“foo”的用户帐户,然后以该用户或我自己的身份通过 ssh 连接到 localhost。当我这样做时,我确实需要验证自己的身份。它似乎识别出另一个用户已登录。
例如,我收到以下消息:
User foo is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.
据推测,它足够“智能”,能够意识到实际上有另一个用户登录。
(我同意你的观点,始终以 root 身份进行身份验证会很好。有时,没有其他用户登录,但一个重要的进程正在后台运行,执行某种计算。)
编辑:刚刚自己尝试了一下。如果我以 foo 身份登录,我需要验证自己的身份(属于 sudo 组)。如果我以自己的身份重新启动,而 foo 仍然处于登录状态,则我必须输入密码而systemctl reboot -i
无需密码。我推测不同之处在于系统知道我在 sudo 组中。
编辑 2:正如 Severus Tux 所指出的,其行为与上次编辑systemctl suspend -i
类似。systemctl reboot -i