Deployment 如何从自定义非根用户运行chef client vagrant provisioner?

Deployment 如何从自定义非根用户运行chef client vagrant provisioner?,deployment,chef-infra,vagrant,Deployment,Chef Infra,Vagrant,我想知道是否有一种方法可以将用户设置为vagrant配置,以便从非根帐户配置该框?问题是,我希望以特定用户(deployer)的身份在Box上运行chef client,而不是root用户,但为此,我应该运行provisioner并首先创建此用户,而此provisioner是在root用户下创建的 据我所知,一种解决方案是为createdeployer用户运行资源调配,然后将box上所有与chef相关的文件和目录更改为deployer用户所有,然后从chef服务器运行实际的资源调配 有更好的解决

我想知道是否有一种方法可以将用户设置为vagrant配置,以便从非根帐户配置该框?问题是,我希望以特定用户(deployer)的身份在Box上运行chef client,而不是root用户,但为此,我应该运行provisioner并首先创建此用户,而此provisioner是在root用户下创建的

据我所知,一种解决方案是为createdeployer用户运行资源调配,然后将box上所有与chef相关的文件和目录更改为deployer用户所有,然后从chef服务器运行实际的资源调配


有更好的解决方案吗?

如果我只是重复您问题的后半部分,请原谅,但您可能希望创建一个最小的启动provisioner(以root用户身份运行),然后生成另一个provisioner作为您的目标用户

下面是一个我如何以ssh用户身份安装dotfiles的示例(
vagrant

# ... in shell provision script...
su -c "cd /home/vagrant/.dotfiles && bash install.bash" vagrant