Могу ли я как-то указать, что:
- в каталоге repository.git
- все файлы всегда будут иметь
- режим 770 и
- git:www-dat собственное руководство: групповое членство?
Могу ли я как-то указать, что:
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/
Если вы можете принудительно установить, что приложения, которые создают файлы в этом каталоге, работают с 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
Я не думаю, что файлы станут исполняемыми, если приложения не создадут их для выполнения. Я не знаю, как это исправить.