2

Могу ли я как-то указать, что:

  • в каталоге repository.git
  • все файлы всегда будут иметь
  • режим 770 и
  • git:www-dat собственное руководство: групповое членство?

2 ответа2

1

permissions - монтировать с владением опциями ACL - вы смотрите биты setuid и setgid ... http://en.wikipedia.org/wiki/Setuid

пример того, как вы пытаетесь это сделать, находится здесь: http://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a -специфическая папка-605129/

1

Если вы можете принудительно установить, что приложения, которые создают файлы в этом каталоге, работают с umask 007 и создают файлы без ограничений на разрешения, а также работают с группой www-data качестве их эффективной или дополнительной группы, то все, что вам нужно сделать, это chmod g+s repository.git . В противном случае, вы не можете сделать именно то , что вы просите.

Однако, если вы сделаете сам каталог git:www-data и mode 770, только пользователь git и группа www-data смогут получить доступ к файлам в каталоге. Даже если файлы в каталоге доступны для чтения всему миру, другие пользователи не смогут получить к ним доступ, если они не будут жестко связаны в другом месте, или вы не передадите им дескриптор в каталог (что вам, скорее всего, придется делать намеренно),

Следующим является проблема создания файлов для групповой записи. Это можно сделать, если в файловой системе включены списки контроля доступа . Для ext2/ext3/ext4/reiserfs убедитесь, что он смонтирован с опциями acl . Установите инструменты командной строки ACL (например, вам нужен пакет acl в Debian или Ubuntu).

chmod 770 repository.git
chown git:www-data repository.git
setfacl -m user:git:rwx -m group:www-data:rwx repository.git
setfacl -d -m user:git:rwx -m group:www-data:rwx repository.git

Я не думаю, что файлы станут исполняемыми, если приложения не создадут их для выполнения. Я не знаю, как это исправить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .