如何解决 centos 7 普通用户 执行 systemctl start|stop|status 服务名 需要输入root密码

使用root用户修改系统配置,让普通用户能启停服务:

[root@localhost ~]# vi /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy
<action id="org.freedesktop.systemd1.manage-units">
<description>Manage system services or units</description>
...................

<!--
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
-->
把org.freedesktop.systemd1.manage-units节点下,defaults下的auth_admin修改为yes
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>

重起polkit之后普通用户即可执行systemctl start/stop xxx服务了

[root@localhost ~]# systemctl restart polkit

 

例如:普通用户 执行 systemctl stop keepalived 不用输入密码了

原文链接:https://blog.csdn.net/ohaozy/article/details/106355222

posted @ 2022-11-10 21:39  谢端阳  阅读(790)  评论(0编辑  收藏  举报