【问题标题】:Run custom script after homestead provision提供宅基地后运行自定义脚本
【发布时间】:2016-04-12 21:14:30
【问题描述】:

我想在运行homestead provision 后在我的虚拟机上运行自定义脚本。 homestead 提供的after.shsudo 运行所有命令,而sudo 又相对于根目录运行并具有管理员权限。

有没有办法让我以非管理员身份使用after.sh

【问题讨论】:

    标签: laravel vagrant virtual-machine homestead


    【解决方案1】:

    您可以在看到的部分之后编辑 Vagrantfile

    if File.exists? afterScriptPath then
        config.vm.provision "shell", path: afterScriptPath
    end
    

    您可以添加自己的配置,例如

    config.vm.provision "shell", path: confDir + "/afterNonRoot.sh", privileged: false
    

    并使用您要运行的命令创建一个afterNonRoot.sh 脚本文件。将文件保存在默认after.sh旁边

    添加 privileged: false 确保脚本将以非管理员权限的 vagrant 用户身份运行

    如果你不想改变 vagrant/homestead 运行脚本的方式,我唯一能想到的就是仍然以root 用户身份运行after.sh,但你可以以@987654328 身份运行命令@ 其中xxx是你要执行的命令

    【讨论】:

    • 我实际上正在寻找一种方法可以让我远离composer/vendor 目录,这就是存储VagrantFile 的地方
    • 好吧,你别无选择,以su -u vagrant -c command运行命令
    猜你喜欢
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2017-04-24
    • 1970-01-01
    • 2021-12-13
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多