/www/data 폴더는 왜 쓰기지우기가 안돼나요?
본문
제가 받고있는 서버 호스팅 업체에다 물어봐야 하는건가요?
아니면
그누5 가 원래 설정을 그렇게 해놓은건가요?
답변 2
호스팅 문제가 아니고 프로그램 설정상 원래 그렇습니다.
소유권이 nobody로 설정되는데 보통 data 폴더들이 그렇습니다. 제로보드도 그렇죠.
<?php
exec('chmod 707 -R ./data');
?>
이렇게 파일 만들어서 올리고 실행하면 권한 바뀌어서 삭제 및 수정이 가능할겁니다.
/data 디렉터리 자체는 사용자가 생성을 하기때문에 사용자의 권한이 있지만, 하위 파일들은 apache를 통해서 생성/업로드하므로 apache:apache 또는 nobody:nobody(이건 apache의 httpd.conf 설정에 따릅니다) 로 부여됩니다. 따라서 사용자가 FTP를 통해 지울수 있는 권한이 없으며 하위 파일의 권한을 707로 바꾸거나(chmod) chown을 통해 사용자에게로 이전해야합니다. exec(php 명령어로써 php가 직접 쉘 스크립트 명령을 수행)의 경우 설정에따라 막혀있는 경우가 많으므로 php의 chmod 함수를 recursive로 구현하여 작업하시기 바랍니다.
답변을 작성하시기 전에 로그인 해주세요.