files/attach 디렉터리에서 새로 생겨나는 디렉터리가 계속 권한이 이상하게 생성되네요
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
사이트 이전하고 chomd를 이용해서 files 폴더 전체에 권한을 777으로 부여했는데 새로운 디렉터리가 생길때마다 777이 적용되지 않은 상태에서 생성되네요.
혹시 디렉터리가 생성될때마다 777권한이 적용된 상태로 생성되게 할 수 있나요?
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.0 |
사이트 이전하고 chomd를 이용해서 files 폴더 전체에 권한을 777으로 부여했는데 새로운 디렉터리가 생길때마다 777이 적용되지 않은 상태에서 생성되네요.
혹시 디렉터리가 생성될때마다 777권한이 적용된 상태로 생성되게 할 수 있나요?
댓글 23
퍼미션이 문제가 아니라 소유권이 문제입니다. 폴더를 소유한 계정(FTP 계정)과 파일을 생성하는 계정(PHP를 실행하는 계정)이 다르게 되어 있으면 퍼미션을 777로 해주지 않으면 아무 것도 제대로 작동하지 않는 변태적인 세팅이 나오지만, 폴더를 소유한 계정과 파일을 생성하는 계정이 같으면 퍼미션은 신경쓸 필요조차 없게 됩니다.
호스팅 업체마다 세팅 방식이 다른데, 퍼미션 777이 필요한 곳은 대체로 옛날 방식입니다. 요즘 카페24처럼 그나마 정석대로 운영하는 곳은 처음부터 퍼미션 조정이 필요없도록 세팅되어서 나옵니다. 개인서버라면 세팅한 사람 책임이고요.
files/attach 뿐 아니라 쉬운설치나 캐시파일 정리 등 여러 부분에서 문제가 될 수 있으므로 퍼미션과 소유권은 제대로 정리를 해놓는 것이 좋습니다.
일단 상세한 답변 감사드립니다!
chmod 777 -R files
후 chown으로 소유권 조정해보세요
그리고 소유자/그룹이 root인지 확인해보세요.
www-data 로 나오네요.
user에 www-data 로 되어있어요
chown -R root:root files
아 그리고 nginx.conf에 www-data로 되어있는건 root로 변경할까요?
nginx는 파일을 생성하지 않습니다. 아마 PHP-FPM이 www-data 계정으로 실행되고 있을 거예요.
/etc/php/버전/fpm/pool.d/www.conf에서 user, group을 지정할 수 있습니다.
단, 이걸 임의로 바꾸면 세션 같은 부분에서 문제가 생길 수 있으니
그냥 www-data로 통일하는 것이 나을 수도 있어요.
그리고 어떤 경우에도 사이트 소스 파일을 root가 소유하거나
nginx, PHP 등을 root 권한으로 실행하도록 세팅해서는 안 됩니다.
어떻게 통일시켜야 할지 감이 도통 안잡히네요...
종종 업로드 오류를 다들 호소하던데..ㅜㅜ큰일났네요
그냥 files 아래의 모든 소유권을 www-data에 맞춰주는 것이 가장 쉬울 것 같습니다.
소유권이 맞으면 퍼미션은 상관없으니까요.
chown -R www-data:www-data /XE/설치/경로/files
잘못 알려드려서 죄송합니다 -_-..
@도토리묵 root 외에는 아무도 건드릴 수 없는 폴더를 만들어 버리면 대체 어쩌자는 겁니까... ㅡ.ㅡ;;