我正在使用Debian 9.5。每当我键入命令时systemctl halt
,都会在终端上显示:
Authentication is required to start halt.target
并要求输入密码。但是我可以使用命令systemctl reboot
,systemctl poweroff
并且它们不会要求输入密码并且可以成功执行。我认为,如果它要求密码停止,那么它也应该要求关机。
在更高版本的systemd v235中,可以在没有密码的情况下停止。为了使其允许,您必须编辑一些polkit配置文件。
在添加了此功能以暂停的提交的说明中,“暂停的整个概念实际上并没有太大用处”。[1] 我认为这种观点解释了与关机/重新启动的区别:-)。
另一种查看方式是,普通GUI中提供了关机/重新启动按钮,我们希望它们可以工作而无需密码。systemd项目提供了一种实现此目的的方法。但是用户通常不希望单独的按钮“暂停”。
我审核了此提交,并帮助批准了该提交。我觉得通常systemd不更改此行为比较安全,并且没有明确的更改理由。
最初的行为可能被认为更简单...如果确实不希望使用API,则维护API的代码和文档可能是绝对不希望的。或者,这可能是阻止用户执行他们实际上不希望做的事情的一种方法。我不知道。我非常隐约地想到了另一个问题。定义为“暂停”以进入ROM监视器(如果有)。如果有一些假设的ROM Monitor在引导时需要密码,那么我不确定在操作系统交还控制权时是否会再次提示输入密码。
在v235中添加polkit支持是使登录支持停止的一个附带好处。实现此功能是为了使systemctl
行为始终保持暂停,但polkit的支持并不是真正的原因。
[1] PR#6944-“ systemctl重新启动/暂停调整”-提交36b69c313120-“登录:添加Halt()和CanHalt()API”
链接:https://github.com/systemd/systemd/pull/6944/commits/36b69c31312007f522a2a7ae5087ae90bd7867cc
您可以在中查看polkit的默认设置/usr/share/polkit-1/actions/org.freedesktop.login1.policy
。您可以搜索类似的条目power-off
和reboot
,并期待在他们的<defaults>
元素。在v235及更高版本中,将有一个条目可供halt
您比较。
您可能会注意到一些其他详细信息。就像,如果您已通过网络登录,则系统将需要管理员密码才能关闭电源。
如果知道正确的咒语,则可以在某处创建一个文件,在/etc/polkit-1
该文件下提供与默认设置不同的设置。我的猜测是您必须定义一个“规则”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句