답변:
먼저 그룹에 자신을 추가 www-data
usermod -a -G www-data (your username)
그때:
chgrp www-data /home/myuser/folderA
chmod g+rwxs /home/myuser/folderA
/home/myuser
다른 사용자의 액세스를 허용하지 않는 한 트릭을 수행해야 합니다.
첫 번째 명령은 폴더의 그룹 소유권을 웹 서버의 소유권으로 변경합니다. 두 번째 명령은 www-data
그룹의 구성원에게 읽기, 쓰기, 디렉토리 입력 권한을 제공하며 그룹 s
플래그는 해당 디렉토리 내부에서 생성 된 모든 파일이 www-data
그룹으로 사용되도록합니다 . myuser
따라서 www-data
사용자가 액세스 할 수있는 파일을 만들면 파일이 생성 됩니다.
Nb. 이는 또한 umask
사용자 계정과 웹 서버 의 설정에 따라 다릅니다. folderA에서 생성 된 파일에 그룹 rw
액세스 권한 이 있어야 합니다 (그리고 필요 그룹 내에 생성 된 디렉토리 rwx
)
웹 서버에 /home/myuser
dir (quite sensible)에 대한 권한 이 없으면 다른 작업을 수행하지 않으면 액세스 할 수 없습니다. 두 솔른 :
sudo mount --bind /home/myuser/folderA /var/www/mysite/folderA
(이것은 추악한 해킹이므로 재부팅 후에 반복해야합니다. 그러나 강력한 속임수를 사용하여 SSH jails 내에서 폴더에 액세스 할 수 있습니다.)
공유 폴더를 다른 곳으로 이동하면됩니다 (예 :) /home/shared-stuff/folderA
.
두 번째 옵션이 가장 좋습니다. folderA의 내용이 실제로 공개되어 있고 누가 보는지 신경 쓰지 않고 다음과 같이 설정할 수 있다고 가정 해 봅시다.
sudo mkdir -m777 /home/shared-stuff
그런 다음 위와 같은 권한을 가진 folderA와 www-data가 다른 권한으로 액세스 할 수없는 folderB를 넣을 수 있습니다.
$ cd /home/shared-stuff ; ls -l
drwxrwsr-x 2 myuser www-data 4096 Jan 17 21:46 folderA
drwxrwx--- 2 myuser myuser 4096 Jan 17 21:46 folderB
또 다른 방법은 아파치 설정에서 사용자 이름을 직접 변경하는 것입니다. 이것은 로컬 시스템 인 경우 폴더의 모든 권한을 손상시킬 수있는 이미지를 다른 곳에 저장하는 것입니다. 또한 사용자가 1 명이고 www-data에 관심이없는 경우에도해야합니다!
$ sudo vi /etc/apache2/apache2.conf
사용자와 그룹을 찾아서
User <Your User>
Group <Your Group>
$ sudo service apache2 restart
s
에g+rwxs
?