Как изменить владельца или группу при синхронизации с rsync в vagrant box?

В настоящее время я борюсь с проблемами разрешений в моей установке Drupal на Drupal-VM (Vagrant + Virtual Box на окна). Я синхронизирую с помощью rsync, что приводит к владельцу и группе vagrant синхронизированных файлов и папок. Поскольку apache работает с пользователем www-data, файлы не могут быть записаны в общедоступную временную папку sites/default/files, которая принадлежит vagrant:vagrant. Вот почему я пытаюсь изменить группу синхронизируемых файлов на www-data. Как мне это сделать?

Моя среда

Vagrant 1.9.1
VirtualBox 5.1.14 r112924

My OS

Microsoft Windows [версия 10.0.14393]

Резюме

Я уже пробовал следующие настройки в config.yml:

vagrant_synced_folders: - local_path: C:\#\myproject destination: /var/www/myproject.dev type: rsync create: true options_override: group: www-data

or

vagrant_synced_folders: - local_path: C:\#\myproject destination: /var/www/myproject.dev type: rsync create: true group: www-data

Они не вступают в силу после vagrant reload. Когда я проверяю, .vagrant/machines/mydrupalvmbox/virtualbox/syncedfolders group все еще vagrant. Изменение группы в этом временном файле и выполнение vagrant rsync приводит к правильной группе для rsynced файлов и каталогов. Но после vagrant reload эти временные настройки исчезли, и группа vagrant снова вернулась.

Я также безуспешно пытался изменить группу через rsync_args:

vagrant_synced_folders: - local_path: C:\#\myproject destination: /var/www/myproject.dev type: rsync create: true options_override: rsync__args: [ "--verbose", "--archive", "--delete", "--chmod=gu=rwX,o=rX", "--group", # required for the following command "--groupmap=*:www-data" ]

Я получаю сообщение об ошибке: Error: rsync: --groupmap=*:www-data: unknown option.

Итак, какова правильная настройка?


person Philipp Michael    schedule 07.03.2017    source источник


Ответы (2)


какую версию rsync вы используете?

Параметр groupmap был включен в версию 3.1.0 (см. https://rsync.samba.org/ftp/rsync/src/rsync-3.1.0-NEWS)

- Added the --usermap/--groupmap/--chown options for manipulating file
  ownership during the copy.

обновите версию rsync (если вы используете cygwing, обновите cygwin/rsync) и убедитесь, что у вас актуальная версия

rsync --version
person Frederic Henri    schedule 08.03.2017
comment
У меня версия 3.0.8, поэтому попробую обновить. Но способ rsync__args кажется сложным. Есть ли способ установить общий параметр vagrant group для rsync? Потому что, когда я заполняю целевую группу в .vagrant/machines/mydrupalvmbox/virtualbox/syncedfolders, файлы синхронизируются с нужной группой. - person Philipp Michael; 08.03.2017

В Drupal VM вы должны использовать rsync__group внутри options_override:

vagrant_synced_folders:
  - local_path: C:\#\myproject
  // [...]
  options_override:
    rsync__group: www-data

См. соответствующую проблему: https://github.com/geerlingguy/drupal-vm/issues/ 1199

Это может работать и в других бродячих коробках.

person Philipp Michael    schedule 16.03.2017