Як працюють local_umask та file_open_mode?


11

У мене виникли проблеми з дозволами файлів, коли місцеві користувачі завантажували свої файли через vsftp на сервер.

Я хотів, щоб файли мали всі 766 дозволів. Після безлічі спроб і помилок я виявив, що мені потрібно встановити такі налаштування:

local_umask=011
file_open_mode=0777

Але я не знаю, чому це призводить до 766 дозволів. Хтось може це пояснити?

Відповіді:


13

Vsftpd daemeon створюватиме права доступу до файлів в 0777 . З цього віднімається local_umask( 0011 ). Umask фактично видаляє дозволи, які ви не хочете, щоб користувачі мали. Це призводить до того, що дозволи дозволу користувача встановити на 0766 .

Для отримання додаткової інформації дивіться цю статтю про дозволи файлів .


2
Так, я це зрозумів, я знаю хитрість. Але як це працює? Чому я не можу встановити лише 766?
OrangeTux

1

Значення umask віднімається з налаштування відкритого режиму. Якщо ви не вказали спеціальне значення umask, використовується стандартне значення (077), що призводить до результату, який ви не хочете.


-1

Ви отримуєте цей дозвіл, оскільки:

1) Якщо встановити local_umask = 011, ви скажете vsftp встановити:

0: читати, записувати і виконувати 1: читати і писати 1: читати і писати

Це дорівнює chmod 766.

2) Значення file_open_mode = 0777 не розбирається,

Тут ви можете знайти дуже вдале пояснення, що таке умаск і як ним користуватися: https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html


Це не відповідь на запитання. (1) ОП хоче, щоб файли захищені 766, а не 666, тому ви звертаєтесь до неправильного сценарію. (2) ОП має конфігурацію, яка працює. Питання полягає в тому, чому це працює. Ви не зверталися до цього.
Скотт

Гаразд, @Scott відредагував відповідь.
Фернандо Кош
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.