개발 Q&A

제목 chmod() 를 사용시 에러가 납니다;
글쓴이 마카오최 작성시각 2015/12/09 22:57:24
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 14943   RSS
카페24 서버호스팅을 셋팅하였습니다.
일반 웹호스팅만 사용하여다가 서버호스팅을 막상 사용하게 되니 이것저것 환경설정?을 하여야될것이 많은것 같습니다. 

문제는 시험삼아 test라는 디렉토리를 생성하고 이 디렉토리의 권한을 777로 바꾸는데 있습니다.
이렇게 한줄을 작성하였는데 실행시키면 바로 에러가 납니다..
<?
chmod($_SERVER['DOCUMENT_ROOT']."/test", 0777);
?>
도큐멘트루트의 문제인가 싶어 확인해보았고 그걸다시 풀어서써보기도 하였지만 마찬가지로 아래와 같은 에러가 나옵니다..

Warning: chmod() [function.chmod]: Operation not permitted in /home/users/testuser/www/chmod.php on line 2

서버호스팅쪽에 전화하여 문의해보았지만 계정에 접속하더니 디렉토리를 수동으로 권한을 주더군요...허허..;;;
수동?으로 바꾸지 않고 프로그램으로 루프를 돌며 자동으로 바꿔줘야하기에 여쭤봅니다.ㅜ
뭔가 서버적으로 설정을 해줘야 하나요?


참고로 말씀드리면 카페24일반 웹호스팅에 있던 홈페이지를
tar -rvf 파일명.tar 로 묶어
현재 서버 호스팅 계정내에
tar -xpf 파일명.tar 로 권한 그대로 살려 푼 상태입니다.
 
 다음글 쿼리 질문인데요!!~ (2)
 이전글 혹시 mysql클러스터 운영/경험 해보신분 있으신가요? (1)

댓글

kaido / 2015/12/10 09:36:06 / 추천 0
파일 권한은 그룹별 권한이라는 것이 있습니다.

텔넷으로 접속하면 root로 로그인해서 권한을 줬을테니 당연히 될테고

php파일에서 권한을 줄때는 root가 아니라 다른 권한으로 들어오는 것입니다.

말로 하면 권한을 줄수 있는 권한이 안되는 것입니다.

그룹 권한에 대해서 검색해 보시고,  호스팅사에 문의하세요.

어떤 호스팅이냐에 따라 다르지만 깡패24는 단독 말고는 임의로  권한 못 주게 설정 해놨을 겁니다.
/ 2015/12/10 13:32:37 / 추천 0
test 상위폴더를 777로 만들면 되지 않을가요???
마카오최 / 2015/12/13 17:03:53 / 추천 0

kaido 님 답변 감사합니다.

자문 자답 하게 되었네요 ㅠ

 

kaido 님의 답변과 저도 비슷한 생각을 했는데요.

해결 방법은 파일의 소유주의 문제가 아닌 아파치의 실행권한을 유동적으로 변경하는것 이었습니다..

현재 아파치를 실행하고 있는 소유주와 그룹명이 저의 경우는 모두 daemon 으로 되어있었습니다.

 

문제는 단독 웹서버에서 아파치의 실행권한이 저렇게 고정되어있는데 ( root, nobody, daemon 등등 )

이렇게 되면 계정을 생성하고 그 계정에 대해 웹서비스를 하게되면 파일의 업로드및 디렉토리생성시 권한문제가 발생하게 되더라구요..

여기서 만약 님의 말씀처럼 특정 디렉토리의 권한을 777로 바꾸는 방법은 단편적으론 해결된것처럼 보이지만..

디렉토리가 프로그램에 의해 동적으로 생성되는 구조에서는 또다시 퍼미션을 자동으로 변경할 권한이 없으니 같은 문제가 발생합니다..

그렇다면 아파치의 실행권한을 각 계정으로 유동적으로 돌릴수만 있다면 이문제는 해결되는것이라 생각해서

검색을 해보니 아파치에 mode_ruid2 라는 모듈이 딱 이런 기능을 하는 모듈이었습니다.

이 모듈을 설치하고 버츄얼호스트에 각각의 도메인에 대해 아래 초록색 구문들만 추가해주니 되네요.

 

예) test1.도메인.com

<VirtualHost *:80>

DocumentRoot /home/users/test1/www

ServerName test1.도메인.com

<IfModule mod_ruid2.c>

RMode config

RUidGid test1 test1

</IfModule>

</VirtualHost>

 

혹시나 서버셋팅시 저와같은 문제를 겪고 있는 분이 있을까 하여 적었습니다..

리눅스 공부 많이 하게 되네요 ㅠ...