我创建了一个Azure ARM模板,该模板使用Ubuntu 18.04中的Microsoft.Compute / virtualMachines / extensions来执行自定义脚本。设置机器后,ubuntu用户(非root用户)应该能够从以下目录中运行自定义脚本:/ var / lib / waagent / custom-script / download / 0,该目录收到“权限被拒绝”。我添加了以下几行以确保ubuntu用户拥有该文件并能够执行,但没有成功。
sudo chown ubuntu install_metaport.sh
chmod +x install_metaport.sh
sh install_metaport.sh
然后,我改变了方法,并将以下内联命令添加到我的Azure ARM脚本中,效果很好。但是我试图避免不得不复制/移动文件,并从其原始目录(/ var / lib / waagent / custom-script / download / 0)执行此文件,但是我再次以“权限拒绝”,无法弄清楚该问题的解决方法
cp install_metaport.sh /tmp && chown ubuntu /tmp/install_metaport.sh && chmod +x /tmp/install_metaport.sh && cd /tmp && sh install_metaport.sh
有什么建议吗? 谢谢
答案 0 :(得分:0)
您的文件install_metaport.sh
可由用户Ubuntu执行。您通过放入另一个目录来验证了这一点。
可以从另一个目录执行文件的事实表明,较低级别的权限被拒绝。根文件夹权限限制了子文件权限,因此很可能无法在/var/lib/waagent/custom-script/download/0
目录中执行。在此处授予用户ubuntu处决权,它将像超级按钮一样工作。