Eu preciso permitir que os membros do grupo 'ftpusers' possam alterar as permissões em todos os objetos dentro de um determinado diretório. Eu estava pensando em como fazê-lo, mas tudo o que encontrei foi como fazê-lo no BSD:
chmod + a "ftpgroup permite segurança de gravação" / some / dir
Eu preciso exatamente da mesma coisa, exceto para o Debian / GNU.
obrigado
Respostas:
Somente o proprietário de um arquivo ou raiz tem permissão para alterar permissões no Linux (acesso de gravação! = Acesso de alteração de permissão)
A única maneira de pensar é usando o sudo. Não sei se isso funcionaria e seria extremamente cauteloso sobre como você especifica as regras do sudo para que os usuários não tenham privilégios adicionais.
Observe que, se eles estiverem se conectando usando um servidor FTP, o sudo provavelmente não será a resposta.
fonte
Apenas dê permissões de gravação e propriedade aos 'ftpusers' nesse diretório:
E defina o bit GID para que todos os novos arquivos herdam a propriedade do grupo:
fonte
Uma solução (que eu tive que usar) é um trabalho cron passando e alterando as permissões de um diretório e arquivos especificados. Não é bonito, mas funciona.
Se você deseja estender a capacidade dos usuários de mudar isso, considere permitir que os usuários do ftpgroup permitam ao chmod dentro do diretório especificado com uma regra apropriada usando o sudo.
Ou você pode criar um script de shell que faça as verificações e as funções apropriadas e faça com que o programa seja executado via sudo. Eu não sugiro nem recomendo um script de shell set-uid.
fonte