웹마스터 팁

XE 설치시 보통 html 폴더에 777 혹은 707 등으로 권한을 다 줍니다.

 

아무래도 찜찜하다면 찜찜하죠.

 

그냥 넘어가면 쉽게 넘어가기도 하지만 보안에 조금이라도 민감하다면 아무래도 좀 찜찜함이 없잖아 있었을 것입니다.

 

하지만 서버의 chown 명령어를 이용할 수 있다면 이를 이용한 꼼수(?)를 써서 굳이 소유자가 아닌 다른 사용자(others)에게까지 모든 권한을 주지 않고서도 처리가 가능합니다.

 

이 명령어를 사용할 수 있는 권한이 있어야 하기에 일반 웹호스팅은 거의 불가능하고 적어도 가상호스팅이나 실제서버 정도는 되어야 할 것입니다. 혹은 PHP를 이용하여 폴더를 생성하는 꼼수도 있을 순 있겠지만 전 프로그래머가 아니라서 잘 모르기에... 아쉽게도 여기선 pass...

 

XE 경우에는 권한이 필요한 경우가, 웹서버(php)단에서 xe/files 폴더에 접근하여 읽고 쓸 경우에 필요합니다. 나머지는 굳이 권한 따로 주지 않더라도 기본적인 r(읽기) 권한 아래에서도 문제없이 돌아갈 수 있습니다.

 

files 폴더는 XE 코어 파일에는 따로 존재하지 않지만 설치과정을 거치면서 D/B정보 및 각종 설정과 캐시가 기록되는 파일을 모아놓는 폴더입니다. 이 폴더 하나에만 제대로 된 권한이 있어도 문제없이 돌아갈 수 있는 것이죠.

 

이를 chown 명령어를 이용해 꼼수 쓰는 방법입니다. 따로 권한을 주지 않아도 바로 웹서버가 해당 폴더에 접근할 수 있게끔 아얘 소유자를 명시적으로 바꾸어 주는 방법입니다. 모로가든 어쨌든 웹서버가 접근할 수 있게끔 해 주는 것이죠. 게다가 오히려 더 안전한 방법이니... 할 수만 있다면 이렇게 하는게 좋겠죠.

 

아래 방법은 CentOS 기준으로 작성되었으나 다른 운영체제에서도 소유자명만 다를 뿐 다른 부분은 동일할 것입니다.

 

 

[root@localhost files]# ll
합계 16
drwxr-xr-x.   6 apache apache   81  1월  2  2013 attach
drwxr-xr-x.  22 apache apache 4096  7월 26 02:29 cache
drwxr-xr-x.   2 apache apache   96  2월 26  2013 config
drwxr-xr-x.   2 apache apache   51  1월 10  2014 env
drwxr-xr-x.  12 apache apache 4096  1월 19  2014 faceOff
drwxr-xr-x.   8 apache apache 4096  1월  1  2013 member_extra_info
drwxr-xr-x.   2 apache apache   87  1월  9  2014 ruleset
drwxr-xr-x.   2 apache apache   33  1월 10  2014 site_design
drwxr-xr-x.   2 apache apache   35  1월  1  2013 theme
drwxr-xr-x. 152 apache apache 4096  7월 26 02:29 thumbnails

 

777을 통해 설치한 폴더 내부를 보면 정작 내부 파일들은 777 권한 없이도 잘 돌아가며 소유자가 웹서버 (apache:apache (CentOS RPM 패키지 설치 기준)) 등으로 되어있는 것을 볼 수 있을 것입니다.

 

이에서 착안,

 

 

[root@localhost html]# mkdir files

 

설치 전 미리 XE가 설치된 코어루트(/, modules addons layouts 등의 폴더가 존재하는 위치) 폴더에 files 폴더도 같이 생성해 줍니다.

 

 

[root@localhost html]# chwon apache:apache files

 

그리고 소유자를 웹서버로 바꾸어 줍니다.

 

 

[root@localhost html]# ll
합계 6952136
-rw-r--r--.  1    501 users        1419  5월  9 00:12 CONTRIBUTING.md
-rw-r--r--.  1    501 users          46  5월  9 00:12 COPYRIGHT
-rw-r--r--.  1    501 users       25396  5월  9 00:12 LICENSE
-rw-r--r--.  1    501 users        2376  5월  9 00:12 README.md
drwxr-xr-x. 19    501 users        4096  2월 25 23:08 addons
drwxr-xr-x.  3    501 users          45  1월 10  2014 admin
drwxr-xr-x. 22    501 users        4096  8월 14  2012 classes
drwxr-xr-x.  7    501 users          80  8월 14  2012 common
drwxr-xr-x.  2    501 users          84  1월  9  2014 config
drwxr-xr-x. 12 apache apache       4096  4월 29 18:11 files
-rw-r--r--.  1    501 users        2287  5월  9 00:12 index.php
drwxr-xr-x.  8    501 users        4096  1월 12  2014 layouts
drwxr-xr-x.  6    501 users        4096  8월 14  2012 libs
drwxr-xr-x.  5    501 users          69  8월 14  2012 m.layouts
drwxr-xr-x. 35    501 users        4096  5월  9 00:16 modules
drwxr-xr-x.  2    501 users          28  8월 14  2012 phpDoc
drwxr-xr-x.  5    501 users        4096  1월 10  2014 tests
drwxr-xr-x.  6    501 users        4096  8월 14  2012 themes
drwxr-xr-x.  4    501 users          41  1월 10  2014 tools
drwxr-xr-x.  8    501 users        4096  8월 14  2012 widgets
drwxr-xr-x.  3    501 users          27  8월 14  2012 widgetstyles

 

그 다음 ls -l 한번 때려 주면 files 폴더가 동일한 정도의 권한에 소유자만 넘어간 것을 볼 수 있습니다.

 

이 이후에 XE를 설치하면 권한은 충분히 있기에 실제로 777 혹은 707 권한을 주지 않아도 소유자 권한은 충분히(7) 있기에 매끄럽게 넘어가는 것을 확인할 수 있습니다. 그리고 웹서버를 제외한 다른 계정에선 권한이 없게 되죠. 사실 이론적으론 아얘 다른 계정에서 조회 못하게 700 권한 주어도 큰 무리는 없을 것입니다.

 

이미 설치되어있는 서버에서도 위 방법 적용 후 chmod 로 권한 755 정도나 혹은 소유자만 남기고 다 버려주면 정상적으로 돌아갑니다.

 

CentOS 의 경우는 웹서버가 apache:apache 로 되어있으나 Ubuntu 서버에서는 www-data 등으로 되어있을 것입니다. 직접 소스설치하셨거나 다른 배포판의 경우에는 nobody 등으로 되어있을 수도 있고요. 이 부분은 apache 환경설정 파일에 User Group 부분에 나와있으니 그 부분 그대로 적용하시면 될 것 같습니다.

 

XE 뿐만 아니라 적어도 PHP 쓰는 애플리케이션은 사정이 다 비슷비슷하지 않을까 싶습니다.

 

물론 서버 구성 및 환경설정에 따라 이 방법의 적용이 안될 수 있습니다. 이 부분 감안하시어 진행하시기 바라며 잘 되지 않는 경우 권한만 변경한 것이니 원래대로 원복해주시면 되실 것입니다.

 

제가 아직 이런 분야에 전문적이진 않고, 아마 리눅스 서버에 조금이라도 관심있으시거나 잘 다루시는 수퍼유저라면 아시는 부분이겠지만, 혹 이쪽으로 입문하셨거나 관심 있으신 분 있으시면 보고 도움되시라고 글 함 적어봅니다 :)

제목 글쓴이 날짜
도메인 변경 또는 설치 폴더 변경시 이미지 주소변경하기 file 해피정닷컴 2018.06.08
.htaccess 를 이용해서 도메인 접속시 xe폴더로 자동 이동 시키기 [3] file Double'U' 2014.09.25
FTP로 폴더가 삭제가 안될때~! [6] file 웹엔진 2012.01.30
사이트접속시 제로보드XE폴더로 이동되게 하는 쉬운방법 [8] 부찬™ 2007.08.17
화일첨부 디렉토리의 빈 폴더 삭제... [13] 카르마 2012.01.20
XE 설치 시 안전한 폴더권한 설정하기 (chown 사용) 컴토피아 2014.08.07
사이트 주소로 접속했을때 XE 폴더로 이동하기 팁 [42] 베니 2007.08.16
홈페이지 접속시 XE를 바로 실행하기(XE를 /xe/ 폴더에 설치한 경우) [5] Firstlove 2011.06.12
XE 를 루트로 옮기는 방법과 문제 대응책 정리 (도메인 접속시 xe폴더로 이동 없이 바로 사이트 뜨게 하기) [8] file Gekkou 2009.12.06
grep로 하위 폴더내 파일까지 내용 검색하기 fsfsdas 2011.02.20
wo.to (유료서버) 의 아파치 폴더 인증 방법. 이성헌 2005.12.15
네임서버 설정 ver.1 [/etc 폴더편] [2] 손택수 2002.10.24
제로보드 data 폴더 일괄적으로 소유권 변경 스크립트 [2] 라지엘 2002.07.01
[리눅스]proftp 에서 사용자가 상위 폴더로 이동을 못하게... [3] teenteenv 2002.02.22
웹 계정에서 지워지지 않는 폴더 및 파일 삭제하는 방법 [3] Rising.kr 2008.01.24
폴더에 사진올려놓고 리스트자동으로 만들기 [7] 김인기 2004.02.22
[추천 팁] 폴더내의 파일중에서 특정정보만 뽑아오기. [2] M2Vis 2002.07.12
폴더에 올린 mp3를 자동으로 podcast로 만들어주는 소스... ^^ [2] 하얀마법 2010.09.11
files 폴더안의 cache 폴더/파일 1초만에 지우기 [3] 999 2010.06.21
설치하여 사용 중이던 XE의 폴더 옮기기 [1] file 영구만세 2009.12.02