Понимание разрешений с помощью 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 для ознакомления.