업로드 디렉터리에 대한 사용자 권한

업로드 디렉터리에 대한 사용자 권한

Apache가 쓰기 권한이 있는 것으로 인식되지 않기 때문에 웹사이트를 통한 파일 업로드가 실패합니다. 그러나 내 권한은 다르게 표시됩니다. 어떤 아이디어가 있나요?

스크립트를 통해 업로드하면 스크립트가 반환됩니다.

Error:  Directory is not writable

디렉토리는 /home/username/public_html/uploads
디렉토리 권한 입니다 drwxrwsr-x
. 디렉토리는 Apache가 소유하고 username:webadmins
다음으로 실행되며 www-data그룹의 구성원입니다.www-data webadmins

www-data(Apache)가 이 디렉토리에 쓸 수 있도록 하려면 무엇을 변경해야 합니까? 감사해요.

답변1

업로드 폴더의 권한을 777(모든 사용자에 대한 읽기 및 쓰기 액세스)로 설정해 볼 수 있습니다. 그러나 이것은 안전하지 않습니다. 프로덕션 시스템이나 사용자가 여러 명인 시스템에서는 이 기능을 사용하면 안 됩니다. 아무튼 이렇게 하면 되겠다 sudo chown -R 777 /home/username/public_html/uploads

다른 (그리고 더 나은) 방법은 Apache에 mod_ruid2를 사용하는 것입니다. 여기에서 다운로드할 수 있습니다.http://sourceforge.net/projects/mod-ruid/

컴파일한 다음 모듈을 활성화해야 합니다.sudo a2enmod ruid2

이것을 설치하고 활성화하면 userdir 모듈의 구성 파일을 편집할 수 있습니다.sudo nano /etc/apache2/mods-enabled/userdir.conf

다음을 추가하세요

<IfModule mod_ruid2.c>
RMode stat
RUidGid username usergroup
RGroups username usergroup
</IfModule>

그 후에는 Apache 서비스를 다시 시작해야 합니다.sudo service apache2 restart

이 구성을 사용하면 사용자 및 사용자 그룹과 함께 public_html 디렉터리를 사용할 수 있습니다.

그러나 이것은 userdir public_html Apache를 가진 사용자가 한 명뿐인 경우에만 작동합니다.

관련 정보