estou trabalhando Debian10 with php8 fpm + apache2
, criei um novo usuário com um grupo username:username
e defini um diretório inicial para esse usuário localizado em
/home/username/www
é claro que tenho chmod -R
todas as pastas e arquivos username:username
, antes era www-data quando os arquivos estavam dentro/var/html
então basicamente eu tenho um pequeno script tentando escrever uma pasta de cache, mas não está funcionando quando eu chmod as pastas para username:username , só funciona se eu chmod as pastas para www-data ?
a pasta de cache chown 755 e funciona bem se www-data
não for de propriedadeusername
é possível permitir username
uma permissão de gravação como www-data
?
PS: nome de usuário é um exemplo do real
Responder1
Apossívelabordagem para permitir username
o controle de coisas, embora www-data
tenha acesso somente leitura por motivos de segurança e acesso de gravação somente quando necessário:
Definir
username
como proprietário ewww-data
como grupochown -R username:www-data /home/username/www
Conceda acesso total ao proprietário (leitura/gravação/exec: 7) e acesso somente leitura ao grupo (leitura/execução: 5). O
Other
grupo aqui não tem acesso (0).chmod -R 750 /home/username/www
Dê acesso de gravação
www-data
onde for necessário:chmod -R 770 /home/username/www/path/writable/by/webserver
Os arquivos criados pelo servidor web serão de propriedade total dele ( www-data:www-data
), mas o proprietário do diretório ( username
) ainda poderá movê-los.
Responder2
Por padrão, quando você instala o PHP-FPM, ele instala um único pool que é executado como www-data
usuário. Se você alterar user
e group
para /etc/php/8.0/fpm/pool.d/www.conf
o usuário correto, seu script será executado como usuário e www-data
não precisará de permissões de gravação.
Sua configuração tem estas 2 linhas por padrão:
user = www-data
group = www-data
Substitua essas linhas por:
user = username
group = username
Reinicie o daemon FPM
service php8.0-fpm restart