[질문] cgi 에서 디렉토리 생성시 775 로 생성하고 싶슴다.
글쓴이: myxzv / 작성시간: 금, 2003/04/25 - 7:00오후
:oops:
안녕하세요
펄로 CGI 맨들면서 소일하고 있슴다. 웹서버는 아파치고요..
mkdir("$dirname",0775);
해도 디렉토리 퍼미션이 0755 로 됩니다.
이리저리 실험해 보니까 umask 가 022 로 되어 있어서 그런거 같슴다.
CGI 말고 그냥 perl 로 하면 umask 002 인 상태에서는 775 로 생성됩니다.
httpd.conf 에
User apache
Group apache
로 되어 있구요..
apache UID 로 실행중인 httpd 데몬의 umask 를 002 로 설정하는 방법을
질문해야 하는건지..(apache 는 passwd 에 홈디렉토리/쉘 없구요..)
(헷갈린다.)
알려주세요~
Forums:
일단 가장 편한 방법 (좋은방법은 아님)은 cgi-프로그램에서 mkdir
일단 가장 편한 방법 (좋은방법은 아님)은 cgi-프로그램에서 mkdir나 파일생성 하시기 전에,
umask(002); 라고 하면 됩니다.
mkdir(이름,마스크)의 마스크는 따로 안써줄 경우 777이지만,
umask로 설정된 마스크는 마지막으로 적용되니, 이것을 통과 할 수는 없지요.
프로그램상에서 umask쓰는 것은 마지막 수단이라고 생각 하시고,
apache설정 방법 잘 아시는 분이 답변 주시길 기다려 보시죠..^^
CGI안에서 umask값을 바꾸시기 바랍니다. 그게 가장 좋습니다. 아니
CGI안에서 umask값을 바꾸시기 바랍니다. 그게 가장 좋습니다. 아니면 생성한뒤에 바꾸는게 좋습니다. apache설정에 있는지 살펴본적은 없지만, 제 생각에는 있어야 하는 이유가 없으므로 당연히 없을거라고 생각되는군요.
사실 FTP의 경우에는 파일을 쓰는 일이 잦지만, httpd의 경우에는 파일을 전송하는 프로토콜이 아니므로 이런 부분에 신경써서 만들어야 하는 이유가 사실 없다고 생각됩니다. 또한 보안상의 이유에서도 아마 막았을것이라고 생각됩니다.
========================================
* The truth will set you free.
댓글 달기