O que você realmente parece correto. Você tem o bit setgid definido no diretório, portanto, os novos arquivos criados devem herdar o grupo staff . Eles ainda permanecem de propriedade do criador, no entanto. Eu suspeito que o problema é que o umask para seus usuários é o padrão para 022 ou mesmo 077 , o que significa que novos arquivos que eles criam não terão a permissão de gravação em grupo por padrão. A propriedade do usuário / grupo está correta, mas as permissões do grupo não permitem que outros membros do grupo gravem (ou talvez até leiam) os arquivos.
Escolha um usuário no grupo staff e defina o umask para 002 ou 007 , o que significa que os novos arquivos serão graváveis pelo proprietário e pelo grupo. Eu suspeito que isso corrija o problema:
bash$ umask
0022
bash$ umask 002
bash$ umask
0002
Além disso, você observou que não deseja que ninguém fora do grupo staff tenha acesso ao diretório. Você deve modificar as permissões do diretório para 2770 para conseguir isso, caso contrário, o staff não conseguirá ler (mas não modificar) os arquivos no diretório.
Para a última pergunta sobre o usuário apache , a maneira mais fácil é provavelmente adicionar esse usuário ao grupo staff .