【问题标题】:How to change owner or group when syncing with rsync in vagrant box?在 vagrant box 中与 rsync 同步时如何更改所有者或组?
【发布时间】:2017-07-27 23:07:09
【问题描述】:

目前,我在 Drupal-VM(Windows 上的 Vagrant + Virtual Box)上安装 Drupal 时遇到权限问题。我正在与 rsync 同步,这会导致同步文件和文件夹的所有者和组 vagrant。因为 apache 与用户 www-data 一起运行,所以无法将文件写入公共临时文件夹 sites/default/files,该文件夹由 vagrant:vagrant 拥有。这就是我尝试将同步文件组更改为www-data 的原因。我该如何做到这一点?

我的环境

流浪者 1.9.1
VirtualBox 5.1.14 r112924

我的操作系统

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

或

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。

那么正确的设置是什么?

【问题讨论】:

    标签: vagrant rsync vagrant-windows


    【解决方案1】:

    您运行的是哪个版本的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
    

    【讨论】:

    • 我使用的是3.0.8版本,所以我会尝试更新。但是 rsync__args 的方式似乎很复杂。有没有办法为 rsync 设置一般的 vagrant group 设置?因为当我在.vagrant/machines/mydrupalvmbox/virtualbox/syncedfolders中填写目标组时,文件与正确的组同步。
    【解决方案2】:

    在Drupal VM 中,您必须在options_override 中使用rsync__group:

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

    查看相关问题:https://github.com/geerlingguy/drupal-vm/issues/1199

    这可能也适用于其他 vagrant box。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 1970-01-01
      相关资源
      最近更新 更多