LINUX.ORG.RU

История изменений

Исправление KennyMinigun, (текущая версия) :

На файл пытался выставить права root:root с suid флагом

Если я правильно понял, ты пытался на скрипт post-receive поставить suid. Однако на скриптах suid не работает (по крайней мере в линуксе) — это такая мера безопасности.

При этом у директорий группа nginx, а у файлов nogroup.

Это уже зависит как Git будет изменять/создавать файлы. Если только будет изменять — то владелец останется, а права выставятся как записано в Git (да, Git трекает права файлов тоже). Если создает — то очевидно владельцом будет username:nogroup.

Однако не знаю, как поступает Git когда требуется изменить файл. А конкретно: пересоздает ли Git его в таком случае. Касательно директорий все проще: git не имеет понятия о директориях, по этому их не трогает (если только не требуется создать директорию для того, чтоб поместитть туда файл).

Короче, если ты хочешь делать chmod/chown то настрой может sudo (для того, чтоб например username мог запускать sudo chown -R nginx:nginx /home/site/test без ввода пароля)

Исправление KennyMinigun, :

На файл пытался выставить права root:root с suid флагом

Если я правильно понял, ты пытался на скрипт post-receive поставить suid. Однако на скриптах suid не работает (по крайней мере в линуксе) — это такая мера безопасности.

При этом у директорий группа nginx, а у файлов nogroup.

Это уже зависит как Git будет изменять/создавать файлы. Если только будет изменять — то владелец останется, а права выставятся как записано в Git (да, Git трекает права файлов тоже). Если создает — то очевидно владельцом будет username:nogroup.

Однако не знаю, как поступает Git когда требуется изменить файл. А конкретно: пересоздает ли Git его в таком случае. Касательно директорий все проще: git не имеет понятия о директориях, по этому их не трогает (если только не требуется создать директорию для того, чтоб поместитть туда файл).

Короче, если ты хочешь делать chmod/chown то настрой может sudo (для того, чтоб например username мог запуспать sudo chown -R nginx:nginx /home/site/test без ввода пароля)

Исходная версия KennyMinigun, :

На файл пытался выставить права root:root с suid флагом

Если я правильно понял, ты пытался на скрипт post-receive поставить suid. Однако на скриптах suid не работает (по крайней мере в линуксе) — это такая мера безопасности.

При этом у директорий группа nginx, а у файлов nogroup.

Это уже зависит как Git будет изменять/создавать файлы. Если только будет изменять — то владелец останется, а права выставятся как записано в Git (да, Git трекает права файлов тоже). Если создает — то очевидно владельцом будет username:nogroup.

Однако не знаю, как поступает Git когда требуется изменить файл. А конкретно: пересоздает ли Git его в таком случае. Касательно директорий все проще: git не имеет понятия о директориях, по этому их не трогает (если только не требуется создать директорию для того, чтоб поместитть туда файл).

Короче, если ты хочешь делать chmod/chown то настрой может sudo (для того, чтоб например username мог запуспать sudo chown -R nginx:nginx /home/site/test)