Laravel 提供宅地后运行自定义脚本

Laravel 提供宅地后运行自定义脚本,laravel,vagrant,virtual-machine,homestead,Laravel,Vagrant,Virtual Machine,Homestead,运行宅地供应后,我想在我的虚拟机上运行自定义脚本。homestead提供的after.sh以sudo的形式运行所有命令,而sudo又以管理员权限相对于根目录运行 我有没有办法将.sh之后的用作非管理员?您可以在看到的部分之后编辑Vagrant文件 if File.exists? afterScriptPath then config.vm.provision "shell", path: afterScriptPath end 您可以添加自己的资源调配,例如 config.vm.pro

运行
宅地供应
后,我想在我的虚拟机上运行自定义脚本。homestead提供的
after.sh
sudo
的形式运行所有命令,而sudo又以管理员权限相对于根目录运行


我有没有办法将.sh之后的
用作非管理员?

您可以在看到的部分之后编辑Vagrant文件

if File.exists? afterScriptPath then
    config.vm.provision "shell", path: afterScriptPath
end
您可以添加自己的资源调配,例如

config.vm.provision "shell", path: confDir + "/afterNonRoot.sh", privileged: false
并使用要运行的命令创建一个
afterNonRoot.sh
脚本文件。将文件保存在.sh之后的默认
旁边

添加
privileged:false
可确保脚本将作为具有非管理员权限的流浪用户运行


如果你不想改变流浪者/家园运行脚本的方式,我唯一能想到的是仍然以
root
用户的身份运行
after.sh
,但您可以以
su-u vagrant-c xxx
的身份运行命令,其中xxx是您想要执行的命令

我实际上在寻找一种方法,可以不在
composer/vendor
目录下运行命令,这就是存储
vagrant文件
的地方。如果您没有太多选择,请以
su-u vagrant-c命令的形式运行命令