A solução com chmod g + s e forçar oks funciona muito bem. Você forçou umask do subsistema sftp no arquivo sshd_config?
Subsystem sftp internal-sftp -u 0002
Como posso tornar um diretório recursivamente lido / gravável para um grupo de usuários?
PROBLEMA:
Este é um diretório usado pelo apache para que os direitos de acesso sejam bastante restritos. A única maneira que eu poderia fazê-lo funcionar adequadamente, era montar o diretório como um compartilhamento nfs que força o uid e o gid a serem definidos para um grupo específico e uid. Mas isso parece um truque e permite que qualquer pessoa modifique o conteúdo, embora o apache tenha direitos de acesso bastante restritos no diretório "real".
O QUE TENHO TENTADO:
Eu tentei o bit setgid, que falha ao copiar diretórios via scp. Mesmo depois de tentar definir umask em 6 lugares diferentes. E eu instalei e montei as partições para usar o acl, que tinha o mesmo problema com os direitos de grupo ao copiar com o scp / sftp.
Isso é realmente frustrante, pois parece um problema tão simples e profundo para o qual não encontrei uma solução satisfatória. Espero que esteja faltando algo óbvio aqui. Usando principalmente o Debian squeeze.
A solução com chmod g + s e forçar oks funciona muito bem. Você forçou umask do subsistema sftp no arquivo sshd_config?
Subsystem sftp internal-sftp -u 0002
Se você precisar de alguma flexibilidade para o sftp, tente mysecureshell . Tem opções de permissão como:
DirFakeUser #Ocultar o proprietário real do arquivo / diretório (basta alterar as permissões exibidas)
DirFakeGroup #Esse arquivo real / grupo de diretórios (basta alterar as permissões exibidas)
DirFakeMode # Ocultar direitos reais de arquivos / diretórios (basta alterar as permissões exibidas)
ForceGroup