Відповіді:
Умаска та кінцеві дозволи, які вам потрібні, повинні скласти до 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
).