Ответы:
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
).