RHEL/CentOS 6까지는 httpd 프로세스가 httpd_sys_content_t 가 설정된 자원은 read/write 가 가능했으나 7 에서는 read 만 가능하게 변경되었다.
이는 워드프레스같은 CMS 의 사용자가 많아짐에 따라 취약점을 이용하여 웹 쉘을 워드프레스 설치 폴더에 올려 놓고 해킹하는 등의 공격이 빈번해져서 보안 강화 차원에서 read와 write 권한을 분리한 게 아닌가 싶다.
이로 인해 PHP 같이 httpd context 로 구동하는 프로세스는 write 가 필요한 경우 정상 동작하지 않으며 오직 /var/www/html 폴더에 있어야만 write 가 가능하다.
audit2why < /var/log/audit/audit.log
rw 가능한 컨텍스트 적용
워드프레스의 wp-content 같이 httpd 프로세스가 쓰기 권한이 필요한 폴더는 httpd_sys_content_t 대신 httpd_sys_rw_content_t 컨텍스트를 적용해야 한다.
chcon -R -t httpd_sys_rw_content_t /var/www/myweb
httpd_unified 불린을 적용하면 CentOS 6 처럼 httpd_sys_content_t 컨텍스트를 읽고/쓸수 있지만 권장하지 않는다.
setsebool -P httpd_unified 1