Apache 서버로 VSFTPD 권한 설정


8

Ubuntu 10.10을 실행하는 VM이 ​​있습니다. Netbeans를 사용하고 가상 컴퓨터의 ftp에 파일을 업로드하고 있습니다. vsftpd를 사용하고 있습니다.

내가 겪고있는 문제 는 아파치 서버가 파일을 읽을 수 있도록 폴더의 소유자 /var/www가 사용자 apache라는 것입니다. 여태까지는 그런대로 잘됐다.

그러나 ftp 사용자로부터 파일을 업로드하려고하면 할 user1수 없습니다. 나는 문제가 무엇인지 안다. 내 질문은 내가 사용자에 대해 올바르게 권한을 설정하는 방법입니다 apacheuser1/ 모든 읽기 파일로 / var / www 디렉토리 쓸 수?

답변:


17

그룹 www-users을 만들어 그룹 소유자로 만드십시오 /var/www. 그런 다음 사용자 apacheuser1그룹을 지정하고 /var/www디렉토리 의 권한 을 775로 설정하십시오 . 그러면 그룹의 user1다른 사용자 www-users가 읽고 쓸 수 있습니다 /var/www. 또한 다른 사용자에게 쓰기 권한을 부여하는 것이 더 쉬워집니다 . /var/www사용자를 www-users그룹에 지정하기 만하면 됩니다.

편집 : 올바른 권한 /var/www은 2775이며, 여기에는 파일과 디렉토리가 /var/www의 그룹 소유권을 상속 하도록 setgid가 포함됩니다 /var/www.


좋은 대답입니다. 와 내가 뭔가를 업로드 한 후 아파치가 파일을 읽을 수없는 경우를 제외하고 user1난 다음 명령을 실행 : chown -R apache:www-users /var/www, usermod -g www-users apache, usermod -g www-users user1, chmod 775 /var/www. 뭔가 빠졌습니까?
Tek

umask는 다른 사람의 읽기 권한을 거부하도록 설정 될 수 있습니다. umask 변경이 도움이되는지 확인하십시오.
bwDraco

네. 그것은 그것의 일부였습니다.
Tek

10
Google 직원이 힌트를 필요로하는 경우의 단계는 다음과 같습니다. 1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
Tek

2
또한 setgid 권한을 디렉토리에 추가하십시오 : chmod g+s /var/www. 이렇게하면 디렉토리 내에 작성된 파일과 디렉토리가 디렉토리를 소유 한 그룹이 소유하게됩니다.
bwDraco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.