Разрешения слишком открыты после отправки из Windows в Bitbucket, а затем - на сервер Linux?

Я пишу код на моей локальной машине. Я помещаю код в репозиторий Mercurial в Bitbucket. Затем я захожу на веб-сервер клиента и "вытягиваю / обновляю" из репозитория Bitbucket на сервер.

Проблема в том, что их учетная запись находится на общем сервере, на котором запущен suphp, а настройки безопасности позволяют только suphp обслуживать файлы chmod'ed 644 (-rw-r- r--). Но каждый раз, когда я извлекаю данные из репозитория Bitbucket, права доступа к файлам меняются на 664 (-rw-rw-r--).

Это не проблема слишком строгого разрешения, так как другие пытались синхронизировать репозитории Hg. Также это не проблема, связанная с тем, что Mercurial НЕ копирует права доступа к файлам. (Hg раньше копировал только бит eXecute, но теперь копирует все разрешения.)

Я подозреваю, что я мог бы каким-то образом изменить разрешения на моей машине с Windows, чтобы они стали более строгими, и это может это исправить, но я не уверен, как разрешения Windows переводятся в настройки Linux "владелец / группа / мир". (Файлы на моем компьютере с Windows позволяют "Полный доступ" моей учетной записи, группе "Администраторы" и "СИСТЕМА", все разрешения, которые они наследуют от папки, которая находится в Моих документах.)

У кого-нибудь есть решение этой проблемы? Могу ли я сделать хук после обновления на Linux-коробке для chmod 644? find . -type f?

1 ответ

Решение

Установите umask в своем профиле входа, например ~/.bash_profile

umask 033

Человек, Umask для деталей.

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