2011-12-17 3 views
2

데비안 클라우드 서버를 설정했습니다. 나는 아파치, php 그리고 vsftpd를 설치했다. 내가 사용자를 생성 허가 등데비안에서 기본 파일 권한 변경

내가 파일을 업로드 할 때 기본 권한은 600을 설정하고 내가 수동으로 774 또는 775으로 변경하지 않는 한 내가

그래서 파일을 볼 수 없습니다, 나는 좋겠 권한을 으로 변경하려면을/var/www/에 업로드하는 모든 파일을 변경하고 싶습니다.

chmod -R 754 /var/www은 해당 디렉토리 내의 모든 파일을 774로 만들지 만 업로드되는 모든 새 파일의 기본 권한은 변경하지 않는다는 것을 알고 있습니다.

내 사용자는 내가 배우고 나서 데모 목적으로 '조'입니다. 그래서 심지어 chown -R joe /var/www을 시도했지만 기본 권한도 변경하지 않았습니다.

기본 사용 권한을 600에서 774로 어떻게 변경합니까? 어떤 파일에 내가 쓸 것이고 무엇을해야합니까?

답변

2

umask을 사용해야합니다. 더 많은 정보는 여기 : http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

+0

감사합니다. 내가 마스크를 해제했는지 확인하고 모든 마스크를 마스크하지 않은 마스크로 바꿨다고 언급해야합니다. – jQuerybeast

+0

올바른 구문을 사용하고 있습니까? 'umask'가 아니라'uNmask'입니다 –

+0

죄송합니다. 글쎄, 나는 그 말을 결코 쓰지 않았다. 나는이 모든 작업을 수행 한 후에 숫자를 변경했습니다. – jQuerybeast

1

사용자의 umask를 디렉토리로 변경해야합니다. 그리고 BTW는 필요하지 않을 때 실행 권한을 설정하지 않습니다.

umask는 적용해야하는 권한의 음수 마스크입니다. 기본적으로 모든 파일은 666과 777의 모든 디렉토리로 생성됩니다. umask가 002로되어 있으면 원하는 것처럼 보이지만 664와 775가됩니다.

이제 umask를 설정하는 방법은 다음과 같습니다. 이 파일을 실제로 쓰는 프로그램과이 설정을 구성 파일에서 사용할 수 있는지 여부를 지정합니다.

또 다른, 덜 알려진 방법, 업로드 디렉토리에 POSIX ACL을 설정하는 것이 들어, /var/www-d 옵션 setfacl을 사용할 수 있습니다 (귀하의 OS와 파일 시스템을 제공,이를 모두 지원).

+0

안녕하세요. 감사합니다. 나는 이것이 내가 찾고있는 것이라고 생각한다. 이전에 언 마스 크 (unmask)에 대해 조사한 결과,/etc/profile과 /etc/proftpd/proftpd.conf 파일을 편집했지만 아무것도 변경되지 않았습니다. 체크인해야 할 다른 파일이 있습니까? – jQuerybeast

+0

부록을 참고하십시오 :'setfacl'을 시도해보십시오. – fge

+0

또한 변경되었습니다 : /etc/login.defs. 죄송합니다 부록은 무엇입니까? 그리고이 모든 작업을 수행 한 후에는 다시 시작해야합니까? 아파치, vsftpd 또는 아무것도? – jQuerybeast

1

사용자 의견 중 하나는 proftpd를 통해 파일을 업로드하는 것입니다. 이 경우, 귀하의 질문은 실제로 해당 소프트웨어에만 적용됩니다. 답은/etc/profile을 수정하지 않는 것입니다. Bourne Shell 또는 유사 (즉, Bash)를 사용하는 모든 사용자의 기본 umask를 변경하기 때문입니다. 또한 사용자는/etc/profile을 읽을 수 있도록 실제로 쉘에 로그인해야하며 제대로 구성된 시스템에서는 실제로 로그인하지 않는 데몬이 실행되고 있습니다. http://www.proftpd.org/docs/howto/Umask.html을 확인하여 proftpd 및 umasks 관련 정보를 확인하십시오.