Centos PAM 无法启动 httpd.service

Centos PAM 无法启动 httpd.service

我有操作系统CentOS Linux 版本 7.6.1810(核心)。我尝试启动几乎纯粹的httpd.service。我运行命令:

systemctl start httpd.service

我尝试从我的用户和从- 没有什么不同。在我的错误日志中我注意到字符串:

pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"

我以为错误就在这里。在我尝试纠正它之后,我尝试在文件中替换/etc/pam.d/password-auth-ac/etc/pam.d/system-auth旧字符串:

auth requisite pam_succeed_if.so uid >= 1000 quiet_success

使用新字符串:

auth requisite pam_succeed_if.so quiet_success

这个错误字符串转换为

pam_succeed_if(sshd:auth): no condition detected; module succeeded

我尝试重新安装 httpd - 它不起作用。现在完整的错误登录图像。我只想启动我的 httpd。

在此输入图像描述

答案1

问题出在 SELinux 上。为了检查这是我们的情况还是不是从 root 运行:

setenforce 0

然后

sudo systemctl restart httpd.service

如果问题消失了,那么这可能就是我们的情况。如需额外检查:在主 .conf httpd 文件中添加日志调试级别。就我而言 /etc/httpd/conf/httpd.conf我在这个文件中添加了:

LogLevel debug

然后将 setenforce 设置回 1 并重新启动 httpd。在错误日志中,您可能会看到如下内容:

(13)权限被拒绝:AH00091:httpd:无法打开错误日志文件/var/www/example.com/logs/error.log 如果您看到这一点 - 这正是我们的情况。那么我们需要:

  1. 将 setenforce 设置为 0。
  2. 使用此命令更改输出日志文件的类型

    chcon -t httpd_sys_rw_content_t error.log

  3. 将 setenforce 设置为 1。

  4. 重新启动httpd.service

步骤之后 - 一切都应该正常工作。

PS 不要忘记在firewall-cmd 中打开端口。

相关内容