Arquivos enviados pelo servidor SFTP com direitos errados

3

Eu tenho tentado descobrir o que há de errado com os direitos de arquivo. Quando estou carregando arquivos usando o FileZilla, todos os arquivos recebem direitos -rw-r - r--. Eu gostaria que eles tivessem -rwxr-xr-x. Eu tentei usar umask para corrigir os direitos, mas algo está errado. Eu li que você poderia mudar os direitos com umask assim por exemplo:

Em / etc / ssh / sshd_config, altere o seguinte:

Subsystem sftp /usr/lib/openssh/sftp-server -u 002

Com essa alteração, estou recebendo arquivos com -rw-rw-r--. Tanto quanto eu sei 0 deve dar todos os direitos? Mas eu estou ficando apenas rw.

O que há de errado? Eu estou usando o Debian.

    
por Firze 18.11.2014 / 09:06

1 resposta

9

Se um cliente SFTP não especificar permissões para arquivos enviados, o servidor SFTP do OpenSSH atribuirá as permissões 0666 aos arquivos recém-criados (menos a umask 0002 faz o 0664).

Isso é codificado, você não pode alterá-lo. Veja a função process_open() no sftp-server.c do OpenSSH. E mesmo, se isso não foi especificado explicitamente, o 0666 ainda é o padrão * nix para arquivos, você não pode simplesmente mudar isso com umask (isso é verdade em geral, não apenas para o OpenSSH).

Veja também O servidor OpenSSH SFTP usa umask ou preserva as permissões do lado do cliente após o comando put (ambiente chrooted)?

Note que o seu umask está realmente errado. Se você quiser 0644, use umask 0022, não 0002.

O FileZilla nunca especifica permissões para arquivos enviados. O que resulta no comportamento que você está experimentando.

Para conseguir as permissões desejadas:

  • Com o FileZilla, você pode alterar as permissões do arquivo somente manualmente, após o upload, usando o comando Permissões de arquivo em um menu de contexto de arquivo remoto.

  • UseumclienteSFTPquepermitaespecificaraspermissõesparaosarquivosenviados.

    Porexemplo,oWinSCPpermiteisso.

    Veja link

    (eu sou o autor do WinSCP)

por 18.11.2014 / 09:47