나를 위해이 오류가 발생하는 다른 것이 었습니다.
서로 다른 두 UID를 가진 동일한 사용자 이름
UID = 123을 사용하여 로컬에 "apache"사용자를 구성하고 동일한 이름 ( "apache")을 가진 NIS 디렉토리에 UID = 456이 다릅니다. 시작 순서 및 서비스 종속성에 따라 NIS 사용자가 사용 가능하기 전에 로컬 사용자가 사용될 수 있습니다. 또한 사용자 이름을 표시 할 때 혼동 될 수 있으며 둘 다 "apache"로 나타납니다. 숫자 UID를 볼 때만 (예를 들어 ls -ln
차이가 있음) 예 :
[root@mymachine]# ls -l
drwxr-x--- 4 apache ggg1 88 May 31 17:12 file1
drwxr-x--- 4 apache ppp2 88 May 31 17:12 file2
file2의 UID가 다른 것을 참조하십시오 (123 대신 456).
[root@mymachine]# ls -ln
drwxr-x--- 4 123 48 88 May 31 17:12 file1
drwxr-x--- 4 456 48 88 May 31 17:12 file2
Apache config에 정의 된 다른 그룹
사용자가 불일치하고 권한 오류가 발생하는 또 다른 문제는 "httpd"그룹을 사용하여 파일에 대한 액세스를 제한 할 때 발생했습니다. 이것은 (하여 표시하고, 사용자 "아파치"의 주 그룹이었다 id
또는 getent
) 아파치 다음 루트로 시작 구성된 사용자로 전환 허가 방울. 사용자는 휴대폰에 정의되는 전환 /etc/httpd/conf/httpd.conf
하여 User
파라미터. 문제가 있습니다-프로세스가 실행될 그룹 (GID) 은 해당 사용자의 기본 그룹 이 아닙니다 . 그룹은 Group
매개 변수 별로 동일한 구성 파일에 정의됩니다 .
그래서 제 경우에는 ( /etc/httpd/conf/httpd.conf ) 였습니다 .
User apache
Group apache
그리고 디렉토리에는 다음과 같은 액세스 권한이 부여되었습니다.
drwxr-x--- 4 someuser httpd 88 May 31 17:12 mydir
httpd (GID = 444)가 해당 사용자의 기본 그룹이기 때문에 :
[root@somemachine]# id apache
uid=48(apache) gid=444(httpd) groups=444(httpd)
Group
구성 파일에서 "httpd"가 아닌 "apache" 라는 것을 깨달을 때까지 디버깅에 시간이 걸렸습니다 .
/ var / log / httpd / error_log의 오류 :
[Fri May 31 17:13:40.070343 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of Require all granted: granted
[Fri May 31 17:13:40.070367 2019] [authz_core:debug] [pid 2527] mod_authz_core.c(809): [client 11.22.32.21:53824] AH01626: authorization result of <RequireAny>: granted
[Fri May 31 17:13:40.070396 2019] [core:error] [pid 2527] (13)Permission denied: [client 11.22.32.21:53824] AH00132: file permissions deny server access: /var/www/html/somedir/otherdir/css/file1.txt
이게 도움이 되길 바란다.