Ответы:
Umask и окончательные разрешения, которые вам нужны, должны добавить до 777. Поскольку вам нужно 775 разрешений, вам нужно 777 - 775 = 002 как umask.
002это восьмеричное значение, не так ли? Почему вы добавили еще один ведущий 0?
002(не могу вспомнить мои потребности в то время), но это должно, например, для 022(который будет рассматриваться как основание 10 22) против 0022. Во всяком случае, у меня не получилось без этого…
Если вам интересно, где установить umask, его можно установить в конфигурационном файле vsftpd (/etc/vsftpd.conf) как anon_umaskдля анонимного доступа, так и local_umaskдля пользователей.
Для правильной работы маски (даже без анонимного доступа) необходимо установить anon_upload_enable=YESи anon_mkdir_write_enable=YES. Если они не установлены, запись, чтение и выполнение не будут разрешены для групп или других пользователей для файлов, загруженных через ftp (даже если стандартные привилегии могут быть установлены для чего-то другого).
В вашем случае, если вам нужен доступ с аутентификацией пользователя, вы должны установить следующее:
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
Здесь file_open_modeзадает настройки файлов по умолчанию. 777делает его читаемым, записываемым и исполняемым для всех. С local_umaskустановленным на 002, это дает вам 775, как вы просили.
Примечание, которое по local_umaskумолчанию 077отключает группы и других лиц для доступа к файлам любым способом (следовательно, это установлено здесь).
Дополнительная информация: https://security.appspot.com/vsftpd/vsftpd_conf.html.
anon_umask
local_umask=002могут не дать ожидаемых результатов - лучше использовать префикс «0»:local_umask=0002(см.man vsftpd.conf).