【问题标题】:vagrant synced folder sub directory ownervagrant 同步文件夹子目录所有者
【发布时间】:2019-07-26 04:15:20
【问题描述】:

我正在使用带有 synced_folder 的 vagrant

development.vm.synced_folder "/usr/local/src/www", "/var/www", owner: "www-data", group: "www-data"

有没有办法改变 /var/www 的子目录的所有者,比如 /var/www/images?

【问题讨论】:

    标签: vagrant subdirectory shared-directory owner synced-folder


    【解决方案1】:

    显然是一个很晚的答案,但对于 Vagrant 和某些挂载类型来说,这种行为仍然是正确的。文档为安装所有者设置说明了这一点

    owner (string) - 应该是此同步文件夹所有者的用户。默认情况下,这将是 SSH 用户。部分同步文件夹类型不支持修改所有者

    这里:https://www.vagrantup.com/docs/synced-folders/basic_usage#owner

    这意味着在许多情况下,我们需要做一些解决方法来授予写入权限,但不涉及更改所有者。如果它是一个开发环境,也许你可以是一个小 YOLO,并授予对目录中所有文件/文件夹的写权限

    绝对仅用于开发/测试的凌乱快速修复

    sudo chmod -R 1777 /var/www/images
    

    更简洁的方法是使用“查找”来仅更改目录

    find /var/www/images -type d -exec chmod 755 {} \;
    

    同样,仅用于开发/测试

    编辑

    也许最简单的解决方法是在挂载选项中为整个 webroot 设置权限。

    config.vm.synced_folder "./", "/var/www/example.com", type: "virtualbox", owner: "vagrant", group: "vagrant", mount_options: ["fmode=776"]
    

    上述代码仍将用户 Vagrant 作为所有者,但允许所有用户,包括 www-data,写入整个结构。不是很安全,但可以工作。

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2015-09-01
      • 2016-06-18
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2015-09-13
      相关资源
      最近更新 更多