Eu prefiro montar a partição com -o acl. Isso permite que você use o comando setfacl para conceder permissões refinadas a arquivos e pastas, em vez de especificar apenas permissões de outros grupos de usuários.
Então coloque acl na sua linha de partição em / etc / fstab ou remonte com mount -o remount, acl / mnt / xy, e então dê a propriedade do seu diretório da web a ninguém: ninguém. Chmod para 770, e use setfacl para conceder permissões de gravação apenas nas pastas que precisam, por exemplo. conceda a www-data (ou ao usuário em que o servidor da web executa) permissões de gravação para a pasta de upload e conceda permissões de gravação ao seu próprio usuário em todo o diretório.
mkdir dir
chown nobody:nobody dir
setfacl -m u:www-data:r-x,d:u:www-data:r-x dir
setfacl -m u:www-data:rwx,d:u:www-data:rwx dir/upload
setfacl -m u:youruser:rwx,d:u:youruser:rwx dir
Agora ninguém pode ler seus arquivos, além de seu servidor da web e de seu próprio usuário. Você pode gravar em todos os arquivos da pasta, e o servidor da Web pode gravar apenas na pasta de upload.