每次我重新启动Apache时,都会出现“未注册的身份验证代理程序 for unix-process”这个提示?

我的服务器是CentOS 7.4,使用Apache 2.4.6版本。 每次我执行systemctl restart httpd命令时,会在/var/log/secure日志中添加两条信息。看起来像是:
Jan 19 8:23:48 localhost polkitd[493]: Registered Authentication Agent for unix-process:5739:174943 (system bus name :1.119 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Jan 19 8:23:49 localhost polkitd[493]: Unregistered Authentication Agent for unix-process:5739:174943 (system bus name :1.119, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
什么问题?
6个回答

我不得不重新启动盒子来解决这个问题。 我相信肯定有更好的解决办法,但在没有其他选择的情况下...就把它踢一下吧。

2对于我来说,Apache根本无法启动,出现了这个错误。所以我决定回答一下,重启解决了我的问题。由于其他人完全没有回应这个问题,请接受这点微小的价值贡献,不带任何批评。 - Marcus

我收到这条消息是因为证书和密钥文件放错了位置。 一旦我在Apache配置中解决了这些问题,Apache就正常启动了。

如果系统安全性不是非常重要,您可以禁用SELinux。编辑位于/etc/selinux/的配置文件。将SELINUX的状态从enforcing更改为disabled。保存并重新启动服务器。

1仅仅是这个建议就可能让新手或其他人走上错误的道路。至少应该有一个更大、更明显的警告。 - Yes Barry
@YesBarry,请尝试这个教程:https://www.cyberciti.biz/faq/disable-selinux-on-centos-7-rhel-7-fedora-linux/ - lesimoes
SELinux与Polkit几乎没有关系。我无法想象一个启用了SELinux的系统以宽容模式运行会导致这个错误的原因。 - Otheus
https://stopdisablingselinux.com - ebarrere
我对愚蠢的人重复反刍(vomitom)禁用seLinux感到相当无聊,请去买个大脑替代吧... - MUY Belgium

请检查文件名。单元文件中的启动脚本名称与init.d中实际文件不同。

“真正”的罪魁祸首是systemctl,它执行/usr/bin/systemd-tty-ask-password-agent,然后调用pkttyagent,后者与policykit守护进程进行通信并生成日志消息。我认为这样做的想法是,systemctl首先准备好通过tty从用户那里验证自己是否可以执行操作,而不检查是否需要验证用户。 您可以通过稍微改变命令来验证这一点:
systemctl --no-ask-password reload httpd
现在,polkit消息将不会出现。

Otheus的帖子给了我正确的方向。但最终,Apache告诉我问题出在哪里。在CentOS 7上,我执行了以下操作: tail /var/log/httpd/error_log 其中有一行如下: [:error] [pid 122064] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved. 所以我只需执行以下操作: echo "NSSEnforceValidCerts off" >> /etc/httpd/conf.d/nss.conf 这样就解决了问题,我可以修复我的证书(没有Apache运行时无法进行修复)...