{"action":"created","issue":{"url":"https://api.github.com/repos/xpressengine/xe-core/issues/1605","labels_url":"https://api.github.com/repos/xpressengine/xe-core/issues/1605/labels{/name}","comments_url":"https://api.github.com/repos/xpressengine/xe-core/issues/1605/comments","events_url":"https://api.github.com/repos/xpressengine/xe-core/issues/1605/events","html_url":"https://github.com/xpressengine/xe-core/issues/1605","id":93929807,"number":1605,"title":"config 파일을 일반 유저가 쓸 수 없는 문제","user":{"login":"wkpark","id":232347,"avatar_url":"https://avatars.githubusercontent.com/u/232347?v=3","gravatar_id":"","url":"https://api.github.com/users/wkpark","html_url":"https://github.com/wkpark","followers_url":"https://api.github.com/users/wkpark/followers","following_url":"https://api.github.com/users/wkpark/following{/other_user}","gists_url":"https://api.github.com/users/wkpark/gists{/gist_id}","starred_url":"https://api.github.com/users/wkpark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wkpark/subscriptions","organizations_url":"https://api.github.com/users/wkpark/orgs","repos_url":"https://api.github.com/users/wkpark/repos","events_url":"https://api.github.com/users/wkpark/events{/privacy}","received_events_url":"https://api.github.com/users/wkpark/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-09T01:43:55Z","updated_at":"2015-07-12T14:23:41Z","closed_at":null,"body":"현재 `files` 아래에 생성되는 모든 파일의 퍼미션은 그 파일의 소유자/그룹이 모드 `www-data` 혹은 그에 준하는 사용자입니다.\r\n따라서 이 아래의 파일을 수정해주려면 https://www.xpressengine.com/qna/21638521 에 언급되어있는 것처럼 간단한 php 스크립트를 만들어서 해결해야 합니다.\r\n\r\nhttps://www.xpressengine.com/devlog/22674444 같은 공식 문서는 아예 호스팅 업체에 문의하라는 일반 사용자 입장에서 조금 황당한 설명이 있기도 합니다.\r\n\r\n이러한 문제를 해결하려면 유닉스에 익숙하신 사용자라면 `files` 디렉토리 퍼미션에 `sgid` 퍼미션을 주면 된다는 사실을 알고계실것입니다. 즉, `files` 디렉토리 아래에 생성되는 모든 파일의 그룹소유주가, 자신의 그룹 소유주와 같게 됩니다.\r\n\r\n즉 자신의 유저/그룹에 각각 `foobar:hello`이고 `files/` 디렉토리에 `sgid` 퍼미션 비트가 설정되어 있으면, `files/` 아래에 `www-data`아파치 유저에 의해서 생성되는 `files/cache/page/foobar.php` 파일의 `소유주:그룹`은 `www-data:www-data`가 아닌 `www-data:hello`가 됩니다.\r\n\r\n따라서 소유주는 `files` 아래의 모든 파일을 손쉽게 삭제하여 관리할 수 있으며, 특정 템플리트 캐시를 고쳐서 간단히 테스트해볼 수 있는 방법을 써먹을 수도 있습니다.\r\n\r\n모니위키는 이미 기본으로 `sgid` 퍼미션을 설정하도록 되어있으며,\r\n\r\n디렉토리에 `SGID` 비트를 설정하려면 `chmod 2777 files`라고 하면 됩니다.\r\n최초 XE를 설치할 때에 XE 최상위 디렉토리의 퍼미션을 `777`이 아닌 `2777`라고 해야 합니다.\r\n\r\n또한 XE가 이미 설치되어 있는 경우에는 다음과 같은 명령으로 모든 디렉토리에 대해 `sgid` 비트를 세팅할 수 있습니다. (`files` 포함. 파일 소유주의 그룹이 `mygroup`인 경우)\r\n~~~\r\n$ sudo find files -type d |xargs chmod 2777\r\n$ sudo find files -type d |xargs chgrp mygroup\r\n~~~\r\n\r\n도쿠위키에서 설정하는 방법\r\nhttps://www.dokuwiki.org/install:permissions#tipusing_the_setgid_bit\r\n\r\n- - -\r\n현재 XE 메뉴얼 페이지에서는 `files` 디렉토리를 만든 후에 `707` 퍼미션으로 만들라고 되어있는데,\r\n* 현재 `files` 디렉토리는 자동 생성 가능함. 메뉴얼 고쳐야 함.\r\n* 자동 생성될 경우에 퍼미션은 `777`임 메뉴얼의 설명 `707`과 다름  (디렉토리에 그룹 퍼미션에 `0`을 주는 것은 별 의미 없음. 다른 사용자가 `7`이므로 디렉토리 리스팅이 가능.)\r\n* 관리자 레벨인 경우에는 `777` 권장\r\n\r\n그리고\r\n* 일반 유저인 경우에는 `2777` 권장.\r\n이런 식으로 추가 설명을 넣거나 해야 할것입니다.\r\n\r\n(수정됨)"},"comment":{"url":"https://api.github.com/repos/xpressengine/xe-core/issues/comments/120725150","html_url":"https://github.com/xpressengine/xe-core/issues/1605#issuecomment-120725150","issue_url":"https://api.github.com/repos/xpressengine/xe-core/issues/1605","id":120725150,"user":{"login":"qw5414","id":4381756,"avatar_url":"https://avatars.githubusercontent.com/u/4381756?v=3","gravatar_id":"","url":"https://api.github.com/users/qw5414","html_url":"https://github.com/qw5414","followers_url":"https://api.github.com/users/qw5414/followers","following_url":"https://api.github.com/users/qw5414/following{/other_user}","gists_url":"https://api.github.com/users/qw5414/gists{/gist_id}","starred_url":"https://api.github.com/users/qw5414/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qw5414/subscriptions","organizations_url":"https://api.github.com/users/qw5414/orgs","repos_url":"https://api.github.com/users/qw5414/repos","events_url":"https://api.github.com/users/qw5414/events{/privacy}","received_events_url":"https://api.github.com/users/qw5414/received_events","type":"User","site_admin":false},"created_at":"2015-07-12T14:23:41Z","updated_at":"2015-07-12T14:23:41Z","body":"@wkpark 근데요 제가 서버에서 설정되어있는 서버는 `2777`이나 `777`으로 files풀더를 설정하면 아에 서버에서 웹을 차단되게 되어있어요. 이부분은 어떻게 해결해야하죠? 이러한 환경이나 기타등등의 웹환경의 고려부분은요? 이부분을 질문드리고 싶어서요..\r\n"}}