나는 작업 중입니다 Debian10 with php8 fpm + apache2
. 그룹을 사용하여 새 사용자를 생성했으며 username:username
이 사용자의 홈 디렉터리를 다음 위치에 설정했습니다.
/home/username/www
물론 파일이 안에 있을 때 www-data가 되기 전에 chmod -R
모든 폴더와 파일을 에 저장했습니다.username:username
/var/html
그래서 기본적으로 캐시 폴더를 쓰려고 하는 작은 스크립트가 있지만 폴더를 사용자 이름:사용자 이름으로 chmod할 때 작동하지 않습니다. 폴더를 www-data로 chmod하는 경우에만 작동합니까?
캐시 폴더 chown 755 , 소유자가 www-data
아닌 경우에는 잘 작동합니다.username
username
다음과 같은 쓰기 권한을 허용하는 것이 가능합니까 www-data
?
추신: 사용자 이름은 실제 사용자 이름의 예입니다.
답변1
ㅏ가능한보안상의 이유로 읽기 전용 액세스 권한을 갖고 필요한 경우에만 쓰기 액세스 권한을 부여하는 username
동시에 제어할 수 있는 접근 방식입니다 .www-data
username
소유자 및www-data
그룹 으로 설정chown -R username:www-data /home/username/www
소유자에게는 전체 액세스 권한(읽기/쓰기/실행: 7)을 부여하고 그룹에는 읽기 전용 액세스 권한(읽기/실행: 5)을 부여합니다. 여기 그룹
Other
에는 액세스 권한이 없습니다(0).chmod -R 750 /home/username/www
www-data
필요한 곳에 쓰기 액세스 권한을 부여하십시오 .chmod -R 770 /home/username/www/path/writable/by/webserver
웹서버에서 생성된 파일은 자체적으로 완전히 소유되지만( www-data:www-data
) 디렉터리 소유자( username
)는 여전히 해당 파일을 이동할 수 있습니다.
답변2
기본적으로 PHP-FPM을 설치하면 사용자로 실행되는 단일 풀이 설치됩니다 www-data
. user
및를 올바른 사용자 group
로 변경하면 /etc/php/8.0/fpm/pool.d/www.conf
스크립트가 사용자로 실행되며 www-data
쓰기 권한이 필요하지 않습니다.
구성에는 기본적으로 다음 두 줄이 있습니다.
user = www-data
group = www-data
해당 줄을 다음으로 바꾸십시오.
user = username
group = username
FPM 데몬 다시 시작
service php8.0-fpm restart