RadarURL

조회 수 1184 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

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 쓰는 애플리케이션은 사정이 다 비슷비슷하지 않을까 싶습니다.

 

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

 

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


출처 : https://www.xpressengine.com/tiptech_server/22815599

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views928100
    read more
  2. WIndows Application의 실행 속도 측정

    Date2023.09.06 Category응용 프로그래밍 ByJaeSoo Views3185
    Read More
  3. 메모리 부족 현상 (allowed memory size of 134217728 bytes..)

    Date2023.08.01 Category웹 프로그래밍 ByJaeSoo Views2207
    Read More
  4. Guzzle - cURL error 60: SSL certificate problem: unable to get local issuer certificate 문제 해결

    Date2023.07.30 Category웹 프로그래밍 ByJaeSoo Views2188
    Read More
  5. XE 캐시파일 재성생후 404 Oops, Sorry. Page is not found! 나올때

    Date2023.07.29 Category웹 프로그래밍 ByJaeSoo Views2117
    Read More
  6. [Apple] 엔터프라이즈 계정신청 (Enterprise Program)

    Date2023.03.27 Category응용 프로그래밍 ByJaeSoo Views267
    Read More
  7. XE - " Fatal error: Class 'Object' not found in " / class 낫파운드 오류

    Date2023.03.20 Category웹 프로그래밍 ByJaeSoo Views147
    Read More
  8. [MSA] MSA란 무엇인가? 개념 이해하기

    Date2023.01.26 Category응용 프로그래밍 ByJaeSoo Views210
    Read More
  9. iOS 앱 개발을 위한 인증서 생성 및 관리

    Date2023.01.18 Category웹 프로그래밍 ByJaeSoo Views218
    Read More
  10. [ iOS ] 앱 스토어 개인, 회사, 엔터프라이즈 차이점

    Date2023.01.09 Category프로그래밍 ByJaeSoo Views237
    Read More
  11. PHP 파서 이해하기 (<?php의 php를 생략하고 간단히 <? 태그 와 ?> 태그를 사용하는 방법)

    Date2016.08.10 Category웹 프로그래밍 ByJaeSoo Views322
    Read More
  12. SVN의 cleanup 에러시 해결방법

    Date2016.05.05 Category프로그래밍 ByJaeSoo Views728
    Read More
  13. [오류해결] svn cleanup failed-previous operation has not finished; run cleanup if it was interrupted

    Date2016.05.05 Category프로그래밍 ByJaeSoo Views611
    Read More
  14. TortoiseSVN 계정변경

    Date2016.05.05 Category프로그래밍 ByJaeSoo Views582
    Read More
  15. SVN passwd 설정 : 계정 (users/passwd)

    Date2016.05.04 Category프로그래밍 ByJaeSoo Views543
    Read More
  16. XE 비회원 글쓰기 항목 지우기

    Date2016.04.28 Category웹 프로그래밍 ByJaeSoo Views499
    Read More
  17. 메모리 영역 (code, data, stack, heap)

    Date2016.03.23 Category응용 프로그래밍 ByJaeSoo Views747
    Read More
  18. [SVN] Subversion 명령들

    Date2016.02.06 Category응용 프로그래밍 ByJaeSoo Views967
    Read More
  19. IBM JDK 1.6 에서 Spring 2.5.2를 사용할 때 GenericTypeResolver 에서 NullPointerException이 발생하는 문제

    Date2016.01.27 Category응용 프로그래밍 ByJaeSoo Views787
    Read More
  20. 오른쪽 마우스 금지 소스 / 드래그 금지 소스

    Date2016.01.20 Category웹 프로그래밍 ByJaeSoo Views475
    Read More
  21. [전자정부 표준프레임워크] 톰캣(Tomcat) 설치하기

    Date2016.01.02 Category응용 프로그래밍 ByJaeSoo Views535
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 18 Next
/ 18


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너