如果在我的计算机上登录了不止一个人,Ubuntu在关闭计算机时需要超级用户身份验证。我怎样才能做到这一点,使任何用户可以关闭计算机而不被要求的密码?
发布于 2010-08-06 14:00:49
使用您喜欢的文本编辑器编辑文件/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy。您将需要根权限。
更改与其他人登录时关机相关的部分。
<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>至
<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>以及与其他人登录时重新启动有关的部分。
<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>至
<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。你是否想这么做是另一个问题。
发布于 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编辑它,如下所示:
[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,并用以下内容填充它:
[Allow all users to restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultInactive=no
ResultActive=yes发布于 2010-08-06 07:31:51
还有更好的办法。如果安装了dbus-send,则可以通过dbus关闭,而不需要升级到根权限。
我不记得文档所在的页面,但是一个Archlinux用户发现了这一点。
关机:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown重新启动:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Reboot暂停:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:1冬眠:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate致以问候。
https://askubuntu.com/questions/1190
复制相似问题