vagrant 同步文件夹子目录所有者
Posted
技术标签:
【中文标题】vagrant 同步文件夹子目录所有者【英文标题】:vagrant synced folder sub directory owner 【发布时间】: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?
【问题讨论】:
【参考方案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,写入整个结构。不是很安全,但可以工作。
【讨论】:
以上是关于vagrant 同步文件夹子目录所有者的主要内容,如果未能解决你的问题,请参考以下文章