Понимание разрешений с помощью ProFTPD (особенно групповой записи)

У меня proftpd работает под пользователем proftpd. У меня есть новый виртуальный сервер в ProFTPD под названием "example.com", указывающий на /var/www/example.com, Я нарезал /var/www/example.com папка с пользователем "example_com" и группой "www-data". Я установил каталог как SGID (2775). Это позволяет пользователю FTP "example_com" входить в систему и загружать файлы и папки, а пользователю процесса Apache "www-data" запускать веб-сайт и читать / записывать файлы.

В моем proftpd.confЯ установил Umask так:

Umask 2664 2775

Моя проблема в этом. Когда "example_com" создает новый файл, он устанавливает его как 2644 вместо 2664. И при создании нового каталога он устанавливает его как 2755 вместо 2775. В обоих случаях ему не хватает разрешения на "групповую запись".

Как включить глобальную запись группы в ProFTPD?

2 ответа

Решение

Согласно документации, вы не можете установить бит SGID в директиве umask; в нем говорится: "Любые представленные аргументы должны быть восьмеричным числом в формате 0xxx".

http://proftpd.org/docs/directives/linked/config_ref_Umask.html

Как намекает Джоски, то, что вам действительно нужно, это "Umask 0002" - значение umask побитовое для объекта, а не абсолютное значение CHMOD. Вам нужно указать его только один раз (не "umask 0002 0002"), так как первый будет применяться ко всем.

Это не является чем-то конкретным для ProFTPd, это стандартные разрешения для POSIX "математика".

Вы смешиваете фактические права доступа к файлу и маске. См. http://en.wikipedia.org/wiki/Umask для ознакомления.

Другие вопросы по тегам