웹 서버의 PHP 스크립트를 파일 서버의 /data 폴더에 작성하려고 합니다.
아파치 2.2, PHP 5.x. 이것은 단지 테스트 구성이지만 웹 서버 권한에 대한 경험이 많지 않기 때문에 이에 대해 어떻게든 배우고 싶습니다.
추가하여 파일 서버의 폴더/data를 공유했습니다.
/data 192.168.20.6(rw,sync,no_subtree_check)
폴더를 마운트하여
sudo mount 192.168.20.5:/data /mnt/data
웹루트에 대한 링크를 생성합니다(이것이 말이 되나요?)
sudo ln -s /mnt/data /webroot/site1/share
그러면 나는 이것을 얻습니다:
Warning: fopen(/webroot/site1/share/data/uploads/Fotoraum/Original/Bluehend/test.txt): failed to open stream: Permission denied
스크립트가 /data 및 해당 하위 폴더에 쓸 수 있도록 허용하려면 어디에서 어떻게 권한을 조정해야 합니까?
감사합니다!
답변1
귀하의 의견에 따르면 다음 옵션이 더 낫다고 생각합니다.chmod -R 775 /mnt/data
을 사용할 때 mount
파일을 소유한 사용자와 그룹을 지정할 수 있습니다. 아마도 다음과 같은 것을 사용하고 싶을 수도 있습니다.
sudo mount 192.168.20.5:/data /mnt/data -o uid=<uid-of-www-data>,gid=<gid-of-www-data>
uid
및 gid
의 값은 및 에서 찾을 www-data
수 있습니다 ./etc/passwd
/etc/group
답변2
nfs 서버의 공유 폴더에 대해 chmod 6777을 수행하여 생성된 모든 파일이 폴더의 소유자 그룹에 속하도록 할 수 있습니다.