У меня были некоторые проблемы с разрешениями файлов, когда локальные пользователи загружали свои файлы через vsftp на сервер.
Я хотел, чтобы файлы имели все 766 разрешений. После долгих проб и ошибок я обнаружил, что должен был установить настройки следующим образом:
local_umask=011
file_open_mode=0777
Но я не знаю, почему это приводит к 766 разрешениям. Кто-нибудь может объяснить это?
permissions
vsftpd
umask
OrangeTux
источник
источник
Значение umask вычитается из настройки открытого режима. Если вы не предоставите пользовательское значение umask, будет использовано значение по умолчанию (077), что приведет к нежелательному результату.
источник
Вы получаете это разрешение, потому что:
1) Установив local_umask = 011, вы указываете vsftp установить:
0: чтение, запись и выполнение 1: чтение и запись 1: чтение и запись
Это равно chmod 766.
2) Значение file_open_mode = 0777 не анализируется,
Здесь вы можете найти очень хорошее объяснение того, что такое umask и как его использовать: https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
источник