Os dois únicos métodos que eu estou ciente de onde você pode configurar isso para que o Apache possa ver o número X do conteúdo dos usuários, mas esses mesmos usuários são cegos para o conteúdo uns dos outros é usar um grupo Unix separado para cada usuário, que o Apache também é um membro ou através de ACLs.
Método 1 - usando grupos
Coloque simplesmente cada usuário em seu próprio grupo único (group1, group2, etc.). Em seguida, adicione o Apache a cada um desses grupos. Isso pode ser feito usando chgrp
e chmod
para fornecer aos diretórios e arquivos os grupos apropriados + permissões. Você provavelmente desejará configurar o bit GUID nesses diretórios também, para que todos os novos arquivos adicionados tenham o grupo apropriado atribuído automaticamente.
NOTA: Esse método pode ser quebrado pelos usuários com bastante facilidade, sem quebra irrevogável, apenas quebrado, para que seus arquivos não possam mais ser vistos pelo Apache. Eu sugeriria fornecer a eles alguns aliases ou scripts para ajudar a manter seus diretórios.
Método 2 - usando ACLs
Você pode adicionar o ID do grupo do Apache aos diretórios de conteúdo de cada usuário assim.
Exemplo
$ whoami
saml
$ groups
saml wheel wireshark
configure um diretório com perms + ownershiphips
$ sudo mkdir --mode=u+rwx,g+rs,g-w,o-rwx somedir
$ sudo chown saml.apache somedir
$ ll -d somedir/
drwxr-s---. 2 saml apache 4096 Feb 17 20:10 somedir/
antes
$ ll -d somedir
drwxr-s---. 2 saml apache 4096 Feb 17 20:46 somedir
definir permissões
$ sudo setfacl -Rdm g:apache:rx somedir
$ ll -d somedir/
drwxr-s---+ 2 saml apache 4096 Feb 17 20:46 somedir/
Observe o +
no final, o que significa que esse diretório tem ACLs aplicadas a ele.
$ getfacl somedir
# file: somedir
# owner: saml
# group: apache
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:apache:r-x
default:mask::r-x
default:other::---
depois
$ touch somedir/afile
$ ll somedir/afile
-rw-r-----+ 1 saml apache 0 Feb 17 21:27 somedir/afile
$
Aviso com as permissões padrão ( setfacl -Rdm
) definidas para que as permissões sejam ( r-x
) por padrão ( g:apache:rx
). Isso força qualquer arquivo novo a ter apenas o r
habilitado.