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에 있습니다. 이것이 우리의 경우인지 또는 루트에서 실행되고 있지 않은지 확인하려면 다음을 수행하십시오.

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에서 포트를 여는 것을 잊지 마세요.

관련 정보