2015-08-19 19 views
1

我正在嘗試在一個CoreOS Vagrant虛擬機中爲Rails 2項目設置一個開發環境,該虛擬機有許多移動部分。 虛擬機配置完成後,會有一個Puppet腳本安裝所有的零碎件並啓動它們。流浪和同步文件夾:如何將所有者設置爲非默認流浪用戶以外的用戶?

,我的工作對位,這是我的本地機器(OS X 10.10.5),通過synced folder暴露到VM,並顯示在VM中的正確的地方與業主vagrant和組vagrant

爲了使它與系統的其他部分一起工作,需要將該文件夾的所有權設置爲projectx

簡單地告訴Puppet設置權限不起作用。他們不會改變。我已經通過手動chown確認了這些文件,並且它們不會更改。

我不能只是設置用戶在Vagrantfile雖然因爲,直到Puppet已完成其東西沒有projectx用戶。

它看起來像我唯一的解決辦法是破解Puppet文件,並消除了使用projectx用戶,但我寧願找到一個方法來設置synced folder的所有者,而不是因爲這將是乾淨多了。

如何將synced folder的所有權設置爲直到虛擬機置備後才創建的用戶?

回答

1

不幸的是,有沒有簡單的方法來做到這一點。

常見的解決方法是在同步文件夾配置中使用uid和gid。這樣,您可以創建一個同步文件夾作爲稍後將添加到系統中的用戶。

projectx_uid = 1001 
projectx_gid = 1001 
config.vm.synced_folder "src/", "/srv/website", 
    owner: projectx_uid, group: projectx_guid0 

這意味着projectx應在供應過程的一開始就被創建的,因此將有可預見的UID/GID

相關問題流浪的跟蹤:https://github.com/mitchellh/vagrant/issues/936

+0

真棒,謝謝。今天早上我會放棄這一點。 –

+0

這工作得很好。我只是手動指定puppet文件中的'gid'和'uid' –