以非超级用户身份运行自定义脚本扩展

时间:2020-04-15 11:30:15

标签: azure azure-resource-manager

我正在尝试在模板部署期间运行自定义外壳程序脚本。 我已按照此页面上的说明进行操作: https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-linux

自定义脚本扩展名可以正常工作,但是脚本始终以root的身份运行。 是否可以在模板部署时为另一个用户运行它?

1 个答案:

答案 0 :(得分:2)

看来这是不可能的: https://github.com/Azure/custom-script-extension-linux/issues/134

我这样做的动机是我想在主目录中为新用户放置一个文件。因此,作为一种解决方法,由于脚本无论如何都以sudo的身份运行,因此可以将文件简单地放在用户目录中:

{
    "type": "extensions",
    "apiVersion": "2017-03-30",
    "name": "config-app2",
    "location": "[resourceGroup().location]",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
    ],
    "tags": {
        "displayName": "config-app2"
    },
    "properties": {
        "publisher": "Microsoft.Azure.Extensions",
        "type": "CustomScript",
        "typeHandlerVersion": "2.0",
        "autoUpgradeMinorVersion": true,
        "settings": {
            "skipDos2Unix": false
        },
        "protectedSettings": {
            "commandToExecute": "[concat('curl -s \"https://s3.amazonaws.com/...\" -o',' ', '/home/',parameters('username'),'/...')]"
        }
    }
}