У меня установлен umask 0002
, и я установил все каталоги проекта с chmod g+rws
, а файлы - chmod 664
.
Поэтому, когда я вручную создаю новый каталог:
$ mkdir foo
$ ls -ld foo
drwxrwsr-x 2 william www-data 4096 Jan 11 21:20 foo
и когда я вручную создаю файл:
$ touch foo/bar
$ ls -lh foo/bar
-rw-rw-r-- 1 william www-data 0 Jan 11 21:21 foo/bar
Оба вышеперечисленных соответствуют назначению (я хочу, чтобы другие участники группы www-данных могли их изменять).
Тем не менее:
Всякий раз, когда я использую установку composer для проверки нескольких git-репозиториев и создания новых файлов и каталогов, я получаю странные разрешения:
drwxr-sr-x 2 william www-data 4.0K Dec 26 12:24 foo
-rwxr-xr-x 1 william www-data 3103 Dec 26 03:53 foo/bar
(оба должны быть доступны для записи в группе, а файлы получают права на выполнение, которых у них не должно быть).
Кроме того, git config core.fileMode
установлен на false
на сервере развертывания (насколько я понимаю, он охватывает только исполняемый бит, а не чтение и запись).
Есть предложения, что может происходить?
В этом случае я использую composer для развертывания репозиториев WordPress - wpackagist -, если репозиторий источника имеет какое-либо отношение.
(Debian Jessie, оболочка bash)