首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使关机不需要管理员密码?

如何使关机不需要管理员密码?
EN

Ask Ubuntu用户
提问于 2010-08-05 16:11:56
回答 9查看 66K关注 0票数 54

如果在我的计算机上登录了不止一个人,Ubuntu在关闭计算机时需要超级用户身份验证。我怎样才能做到这一点,使任何用户可以关闭计算机而不被要求的密码?

EN

回答 9

Ask Ubuntu用户

回答已采纳

发布于 2010-08-06 14:00:49

您不需要解决办法,只需更改策略,允许您在多个用户登录时关闭,而无需身份验证为admin进行关机和重新启动。

使用您喜欢的文本编辑器编辑文件/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy。您将需要根权限。

更改与其他人登录时关机相关的部分。

代码语言:javascript
复制
  <action id="org.freedesktop.consolekit.system.stop-multiple-users">
    <description>Stop the system when multiple users are logged in</description>
    <message>System policy prevents stopping the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

代码语言:javascript
复制
  <action id="org.freedesktop.consolekit.system.stop-multiple-users">
    <description>Stop the system when multiple users are logged in</description>
    <message>System policy prevents stopping the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

以及与其他人登录时重新启动有关的部分。

代码语言:javascript
复制
  <action id="org.freedesktop.consolekit.system.restart-multiple-users">
    <description>Restart the system when multiple users are logged in</description>
    <message>System policy prevents restarting the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

代码语言:javascript
复制
  <action id="org.freedesktop.consolekit.system.restart-multiple-users">
    <description>Restart the system when multiple users are logged in</description>
    <message>System policy prevents restarting the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

这将允许您在多个用户登录时关闭并重新启动PC。你是否想这么做是另一个问题。

票数 29
EN

Ask Ubuntu用户

发布于 2013-02-06 11:51:44

理查德·霍洛威的回答实际上并不是授予PolickKit授权的方式。安装在/usr/share/polkit-1/actions下的文件不是要修改的。相反,您应该修改/etc/polkit-1/localauthority/50-local.d/下的权限。

下面是你如何回答这个问题的方法:

创建一个名为/etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown.pkla的文件,并使用sudoedit编辑它,如下所示:

代码语言:javascript
复制
[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultInactive=no
ResultActive=yes

然后在同一个目录中创建另一个.pkla文件。使用任何您喜欢的以.pkla结尾的名称,例如,allow_all_users_to_restart.pkla,并用以下内容填充它:

代码语言:javascript
复制
[Allow all users to restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultInactive=no
ResultActive=yes

参考资料:

票数 40
EN

Ask Ubuntu用户

发布于 2010-08-06 07:31:51

还有更好的办法。如果安装了dbus-send,则可以通过dbus关闭,而不需要升级到根权限。

我不记得文档所在的页面,但是一个Archlinux用户发现了这一点。

关机:

代码语言:javascript
复制
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

重新启动:

代码语言:javascript
复制
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Reboot

暂停:

代码语言:javascript
复制
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:1

冬眠:

代码语言:javascript
复制
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate

致以问候。

票数 16
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档