Respostas:
As permissões de máscara e final que você precisa devem adicionar até 777. Como você precisa de permissões 775, você precisa de 777 - 775 = 002 como umask.
002
é um valor octal, não é? Por que você adiciona outra liderança 0
?
002
(não me lembro minhas necessidades no momento), mas deve para, por exemplo 022
(que será tratada como base 10 22
) vs 0022
. Enfim, não funcionou para mim sem ele ...
Caso você esteja se perguntando onde definir seu umask, ele pode ser definido no arquivo de configuração vsftpd (/etc/vsftpd.conf) como anon_umask
para acesso anônimo e local_umask
para usuários.
Para que a máscara funcione corretamente (mesmo sem acesso anônimo), é necessário definir anon_upload_enable=YES
e anon_mkdir_write_enable=YES
. Se estes não estiverem definidos, a gravação, a leitura e a execução não serão permitidas para grupos ou outras pessoas em arquivos carregados via ftp (mesmo que os privilégios padrão possam estar definidos para outra coisa).
No seu caso, se você precisar de acesso autenticado pelo usuário, defina o seguinte:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0002
anon_upload_enable=YES
anon_mkdir_write_enable=YES
file_open_mode=0777
Aqui, file_open_mode
define a configuração padrão dos arquivos. 777
torna legível, gravável e executável para qualquer pessoa. Com local_umask
definido como 002
, isso fornece a você 775
, conforme solicitado.
Notica que local_umask
tem como padrão 077
desativar grupos e outras pessoas para acessar arquivos de qualquer forma (portanto, é definida aqui).
Leitura adicional: https://security.appspot.com/vsftpd/vsftpd_conf.html
anon_umask
local_umask=002
podem não dar os resultados esperados - é melhor prefixar um '0':local_umask=0002
(consulteman vsftpd.conf
).