반응형
CentOS7 환경에서 PHP CodeIgniter의 파일 업로드 작업을 하며 권한 문제가 있었다.
찾아보니 보안 강화를 위한 개발사의 정책 변경으로 인해 httpd_unified boolean의 설정이
CentOS6에서 on였지만, CentOS7에서는 off로 변경되어 문제가 발생했다.
httpd_unified boolean은 apache나 nginx 같은 웹 서버의 콘텐츠를 동일한 방식의 룰로 처리한다.
즉, CentOS6는 httpd_sys_content_t SELinux context가 설정되어 있는
디렉토리는 읽기와 쓰기 모두 가능했지만, CentOS7부터는 보안 강화 정책으로 인해
httpd_sys_content_t SELinux context가 설정되어 있어도 읽기 전용 권한만 있어
쓰기 권한을 부여하기 위해 httpd_unified boolean의 값을 재설정하거나(비권장),
SELinux context를 재지정(권장) 해줘야 한다.
나는 업로드 부분에 문제가 있었기에 업로드 부분만 변경했다.
# 업로드 디렉토리의 SELinux context 확인
ls -Z
# SELinux 보안 context를 변경
# - [-R | --recursive] 하위요소(디렉토리, 파일)도 같이 변경하는 옵션
# - [-t | --type=TYPE] SELinux context 타입을 설정하는 옵션
# - httpd_sys_rw_content_t 쓰기가 가능한 타입
# - [<path>] 적용할 경로
chcon [-R] [-t] httpd_sys_rw_content_t [<path>]
반응형
'Server' 카테고리의 다른 글
HTTP OPTIONS (0) | 2024.11.07 |
---|---|
Apache Bench 웹서버 부하 테스트 (0) | 2024.01.20 |
HTTP Header (0) | 2022.08.13 |
인터넷 통신 (0) | 2022.06.27 |