Como permitir que membros de um grupo alterem as permissões de arquivo no linux

10

Eu preciso permitir que membros do grupo 'ftpusers' possam alterar permissões em todos os objetos dentro de um determinado diretório. Eu estava pesquisando como fazer isso, mas tudo que encontrei é como fazer no BSD:

chmod +a "ftpgroup allow writesecurity" /some/dir

Eu preciso exatamente da mesma coisa, mas para o Debian / GNU.

Obrigado

    
por Drasko 25.03.2010 / 19:28

3 respostas

8

Somente o proprietário de um arquivo ou raiz tem permissão para alterar as permissões no Linux (acesso de gravação! = permissão para alterar o acesso)

A única maneira que posso pensar é usando o sudo. Eu não sei se isso funcionaria, e eu ficaria extremamente cauteloso sobre como você especifica as regras do sudo para que os usuários não tenham nenhum privilégio adicional.

Observe que, se eles estiverem se conectando usando um servidor FTP, o sudo provavelmente não será a resposta.

    
por 19.06.2010 / 02:54
2

Uma solução (que eu tive que usar) é uma tarefa cron executando e alterando as permissões de um diretório especificado e arquivos sob ele. Não é bonito, mas funciona.

Se você deseja estender a capacidade dos usuários de alterar isso, você pode considerar permitir que os usuários do ftpgroup permitam chmod dentro do diretório especificado com uma regra apropriada usando o sudo.

Ou você pode fazer um script de shell que faz as verificações apropriadas e faz a função, e permite que o programa seja executado via sudo. Eu não sugiro nem recomendo um shell script set-uid.

    
por 19.06.2010 / 01:09
1

Basta fornecer as permissões de gravação e propriedade do 'ftpusers' nesse diretório:

chgrp ftpusers <directory>
chmod g+rwx <directory>

Em seguida, defina o bit GID para que todos os novos arquivos herdem a propriedade do grupo:

chmod g+s <directory>
    
por 25.03.2010 / 19:40