流浪者和同步文件夹:如何将所有者设置为默认流浪者用户以外的用户?
Vagrant and synced folders: How to set the owner to a user other than the default vagrant user?
我正在尝试在具有多个移动部件的 CoreOS
Vagrant VM 中为 Rails 2 项目设置开发环境。
一旦配置了 VM,就会有一个 Puppet
脚本来安装所有零碎的东西并启动它们。
我正在处理的位在我的本地计算机 (OS X 10.10.5) 上,通过 synced folder
暴露在 VM 中并出现在正确的位置在具有所有者 vagrant
和组 vagrant
.
的 VM 中
为了使其与系统的其余部分一起工作,需要将该文件夹的所有权设置为 projectx
。
简单地告诉 Puppet
设置权限是行不通的。他们没有改变。我已经通过手动 chown
ing 文件确认了这一点,它们没有改变。
我不能只在 Vagrantfile
中设置用户,因为在 Puppet
完成它的工作之前没有 projectx
用户。
看来我唯一的解决办法是破解 Puppet
文件并消除对 projectx
用户的使用,但我宁愿找到一种方法来设置 [=12] 的所有者=] 而不是那样会更干净。
如何将 synced folder
的所有权设置为在供应 VM 之后才创建的用户?
遗憾的是,没有简单的方法可以做到这一点。
常见的解决方法是在同步文件夹配置中使用 uid 和 gid。这样您就可以创建一个同步文件夹作为用户,稍后将添加到系统中。
projectx_uid = 1001
projectx_gid = 1001
config.vm.synced_folder "src/", "/srv/website",
owner: projectx_uid, group: projectx_guid0
这意味着 projectx
应该在配置过程的最开始就创建,这样它将具有可预测的 uid/gid
Vagrant 跟踪器中的相关问题:https://github.com/mitchellh/vagrant/issues/936
我正在尝试在具有多个移动部件的 CoreOS
Vagrant VM 中为 Rails 2 项目设置开发环境。
一旦配置了 VM,就会有一个 Puppet
脚本来安装所有零碎的东西并启动它们。
我正在处理的位在我的本地计算机 (OS X 10.10.5) 上,通过 synced folder
暴露在 VM 中并出现在正确的位置在具有所有者 vagrant
和组 vagrant
.
为了使其与系统的其余部分一起工作,需要将该文件夹的所有权设置为 projectx
。
简单地告诉 Puppet
设置权限是行不通的。他们没有改变。我已经通过手动 chown
ing 文件确认了这一点,它们没有改变。
我不能只在 Vagrantfile
中设置用户,因为在 Puppet
完成它的工作之前没有 projectx
用户。
看来我唯一的解决办法是破解 Puppet
文件并消除对 projectx
用户的使用,但我宁愿找到一种方法来设置 [=12] 的所有者=] 而不是那样会更干净。
如何将 synced folder
的所有权设置为在供应 VM 之后才创建的用户?
遗憾的是,没有简单的方法可以做到这一点。
常见的解决方法是在同步文件夹配置中使用 uid 和 gid。这样您就可以创建一个同步文件夹作为用户,稍后将添加到系统中。
projectx_uid = 1001
projectx_gid = 1001
config.vm.synced_folder "src/", "/srv/website",
owner: projectx_uid, group: projectx_guid0
这意味着 projectx
应该在配置过程的最开始就创建,这样它将具有可预测的 uid/gid
Vagrant 跟踪器中的相关问题:https://github.com/mitchellh/vagrant/issues/936