Apache가 심볼릭 링크 파일을 열 수 없습니다.

Apache가 심볼릭 링크 파일을 열 수 없습니다.

파일이 있습니다:

js/jquery.terminal-src.js: symbolic link to ../../repo/js/jquery.terminal-src.js

브라우저를 사용하여 열려고 하면 다음과 같습니다.

http://localhost/projects/jcubic/terminal/test/js/jquery.terminal-src.js

403 오류 금지됨이 표시됩니다. 파일에 권한이 있습니다.

-rw-rw----. 1 kuba kuba 291604 08-27 22:20 ../../repo/js/jquery.terminal-src.js

apache2가 파일을 열 수 없습니다. SeLinux를 설치했으며 Fedora Distro를 사용하고 있습니다.

이거 넣었어요/var/log/audit/audit.log

type=AVC msg=audit(1503868547.512:625): avc:  denied  { getattr } for  
pid=519 comm="httpd" path="/home/kuba/projects/jcubic/terminal/test/css/jquery.
terminal-src.css" dev="sda3" ino=26608576 scontext=system_u:system_r:
httpd_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=lnk_file
permissive=0

kubaApache 사용자를 그룹 에 추가했으며 projects디렉토리에 심볼릭 링크가 있습니다. /var/www/html다른 파일, 심지어 디렉토리에 대한 심볼릭 링크도 잘 작동합니다.

또한 kuba 그룹을 /home까지 모든 디렉토리에 설정하려고 시도했지만 작동하지 않았습니다(그리고 모든 디렉토리는 이미 kuba그룹에 속해 있습니다).

Apache가 심볼릭 링크 파일을 열도록 하려면 무엇을 구성해야 합니까?

SeLinux가 Fedora에 설치되어 있으므로 비활성화하고 싶지 않습니다. 다른 방법이 있습니까?

답변1

당신은 그것을 사용할 수 있습니다audit2why액세스가 거부된 이유와 SELinux가 존재할 수 있는지 알아보십시오.부울 값접근을 허용하기 위해 존재합니다.

SELinux 부울은 httpd_enable_homedirsApache가 홈 디렉토리를 읽을 수 있도록 허용하며 귀하의 경우에 충분합니다. (루트로)를 사용하여 활성화할 수 있습니다 setsebool -P httpd_enable_homedirs 1.

SELinux 정책을 변경해야 하는 경우 다음을 사용할 수 있습니다.audit2allow액세스를 허용하는 정책 모듈을 생성합니다.

SELinux 규칙은 Unix 권한을 확인합니다. SELinux 규칙은 더 엄격한 액세스 제어 규칙을 추가할 뿐 기존 파일 권한 제한을 줄이지 않습니다.

아파치는심볼릭 링크를 따라가세요그리고심볼릭 링크IfOwnerMatch 옵션이는 기호 링크가 처리되는 방식에 영향을 미칩니다. 기본적으로심볼릭 링크를 따라가세요활성화하고 Apache는 기호 링크를 존중하지만 이러한 옵션은 <Directory>구성 파일이나 파일 섹션에서 .htaccess변경할 수 있습니다 .

관련 정보