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


person Van J. Wilson    schedule 21.08.2012    source источник
comment
Mercurial не изменился: он все еще может версировать только бит выполнения. Так что права доступа к файлам на вашем компьютере с Windows здесь не важны.   -  person Martin Geisler    schedule 21.08.2012


Ответы (1)


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

umask 033

man umask для подробностей.

person Ted Shaw    schedule 21.08.2012