CentOS 7 에서 컨텐츠에 write 설정하기 (SELinux, WordPress Update)

Centos 7 환경에서 SELiux 를 끄지 않고, 웹 서버가 컨텐츠에 write 할 수 있도록 설정하는 방법에 대해 알아보자.


문제

워드프레스가 제대로 업데이트 하지를 못해서 삽질을 하는 도중에 아는 분이 아마 SELinux 때문일 것이라고 알려주어 이 문제에 대해 알게되었다. 처음에는 SELinux 기능을 끄고 진행하려 했지만, 구글 형아들이 SELinux 는 보안을 위해서 개발사에서 넣은 기능이므로 웬만하면 끄지 않는 걸 추천한다는 글이 대부분이어서 해결하는 방법에 대해 찾아 보았다.


원인

CentOS 7 부터 변경된 SELinux 정책 중 하나가 httpd_unified_boolean 이 기본으로 false 로 설정된 것이다. 해당 값이 true 면 /var/www/html 같이 httpd_sys_content_t 가 설정된 경로에 대해 read 와 write 권한을 갖게 해준다. 반면, false 면 /var/www/html 같이 httpd_sys_content_t 가 설정되어 있고, write 권한이 있더라도 웹 서버가 write 하지 못한다. 따라서, CentOS 7 부터는 별도로 처리를 해줘야 한다.


해결

해결 방법은 간단하다. write 가 필요한 컨텐츠에 httpd_sys_rw_contetn_t 를 설정하면 된다. 나는 /var/www/html 하위 폴더 및 파일 전체를 지정하고자 -R 옵션을 추가해서 설정했다.




Reply