Odpowiedzi:
Umask i końcowe uprawnienia, których potrzebujesz, powinny sumować się do 777. Ponieważ potrzebujesz uprawnień 775, potrzebujesz 777 - 775 = 002 jako umask.
002jest wartością ósemkową, prawda? Dlaczego dodajesz kolejne wiodące 0?
002(nie pamiętam moje potrzeby w tym czasie), ale należy na przykład 022(który będzie traktowany jako podstawy 10 22) vs 0022. W każdym razie bez mnie to nie działało…
Jeśli zastanawiasz się, gdzie ustawić umask, możesz ustawić go w pliku konfiguracyjnym vsftpd (/etc/vsftpd.conf), tak jak w anon_umaskprzypadku dostępu anonimowego i local_umaskużytkowników.
Aby maska działała poprawnie (nawet bez anonimowego dostępu), konieczne wydaje się ustawienie anon_upload_enable=YESi anon_mkdir_write_enable=YES. Jeśli nie zostaną one ustawione, pisanie, czytanie i wykonywanie nie będzie dozwolone dla grup lub innych osób na plikach przesyłanych przez ftp (nawet jeśli standardowe uprawnienia mogą być ustawione dla czegoś innego).
W twoim przypadku, jeśli potrzebujesz dostępu uwierzytelnionego przez użytkownika, powinieneś ustawić następujące ustawienia:
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
Tutaj file_open_modeustawia domyślne ustawienie plików. 777sprawia, że jest czytelny, zapisywalny i wykonywalny dla każdego. Z local_umaskustawionym na 002to daje 775, zgodnie z prośbą.
Notica local_umaskdomyślnie 077, wyłączająca grupy i inne osoby w celu uzyskania dostępu do plików w jakikolwiek sposób (stąd ustawia się tutaj).
Dalsza lektura: https://security.appspot.com/vsftpd/vsftpd_conf.html
anon_umask
local_umask=002może nie dać oczekiwanych rezultatów - lepiej przedrostek „0”:local_umask=0002(patrzman vsftpd.conf).