Centos Sftp Ssh - Como sempre criar arquivos com rwx-rwx-r-x e sempre pertencentes a um determinado grupo

2

Eu tenho um usuário myuser, que só tem permissão para se conectar ao ssh via sftp. Eu gostaria que esse usuário sempre criasse arquivos com rwx-rwx-r-x e sempre pertencentes ao grupo apache. Eu tentei realizar a parte de permissões de arquivo com umask, mas em arquivos e diretórios umask obtém permissões diferentes para o mesmo umask. Ajuda é apreciada.

    
por Jojo Coana 17.04.2016 / 19:17

1 resposta

2

Antecedentes

Este é um problema permanente de sftp e compartilhamento de arquivos. Isso ocorre porque as permissões resultantes são baseadas na permissão original do arquivo no lado do usuário e o argumento umask ( -u ) não está forçando essas permissões, mas apenas removendo as permissões indesejadas. Isso significa que somente se o usuário tentar carregar o arquivo com permissão 0777 , ele será aplicado e desclassificado para 0775 . Caso contrário, é apenas deixado como estava. Por exemplo, se o usuário tiver um arquivo armazenado em seu sistema de arquivos com permissão 0700 , ele também aparecerá após o upload como 0700 .

Solução

Recentemente, resolvemos esse problema no Fedora aplicando o patch que está forçando a permissão exata dos novos arquivos enviados usando -m para sftp-server . É baseado neste bug upstrem:

link

Isso está disponível na versão atual CentOS 7.2 . Do changelog:

 - Add sftp option to force mode of created files (#1197989)

Solução alternativa

Não há outra solução elegante, exceto algum script de execução periódica (de cron ), que está corrigindo as permissões erradas. Seria um one-liner no bash, mas eu acho que você pode pensar em alguns. Eu posso elaborar mais sobre isso se você estiver interessado.

Ou você pode usar inotify para "pegar" as alterações antes.

O grupo deve ser herdado do diretório pai, não é?

    
por 17.04.2016 / 20:35