Разрешения слишком открыты после отправки из 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 для деталей.