폴더와 파일에 적절한 권한 부여

파일과 폴더 권한

웹 컨텐츠 폴더와 파일은 적절한 권한을 부여해야 하며 폴더는 755(또는 775), 파일은 644(또는 664) 권한이 적절합니다.

chmod -R 755 /var/www/mycontents


특히 파일에 실행 권한을 주는 경우 웹 서버를 통해 실행할 경우 문제가 될 수 있으므로 주의깊게 설정해야 합니다.

SELinux가 켜져 있을 경우 실행 속성을 주어도 httpd_sys_script_exec_t 컨텍스트가 설정되어 있지 않으면 웹 서버가 실행할 수 없습니다.


웹 서버는 루트로 구동해야 하므로 보안을 위해 구동후 별도의 계정으로 전환하며 배포판마다 전환하는 계정이 다릅니다. 그러므로 웹 서버가 쓰기 권한과 실행 권한을 가져야 하는 폴더와 파일은 웹 서버 구동후 전환 계정으로 설정하는 게 권한 문제를 방지할 수 있습니다.

예를 들어 ubuntu 에서 PHP-FPM을 도메인 소켓 방식으로 사용할 경우 nginx 구동 계정(www-data)의 소유이고 쓰기 권한이 있어야 정상적으로 서비스를 할 수 있습니다.


$ ls -l /var/run/php/php7.0-fpm.sock 
srw-rw---- 1 www-data www-data 0 May  9 06:18 /var/run/php/php7.0-fpm.sock


RHEL/CentOS 의 apache의 경우 /etc/httpd/conf/httpd.conf에 구동 계정이 정의되어 있습니다.

User apache
Group apache


nginx 는 /etc/nginx/nginx.conf 에 user 키워드로 구동 계정이 정의되어 있으며 ubuntu는 www-data를 RHEL/CentOS는 nginx 계정을 사용합니다.

user  nginx;


같이 보기