Phi*_*hil 5 cloud bash amazon-web-services
我在启动AWS Ubuntu实例(来自Cloud Formation模板)并在启动时成功运行脚本时遇到了很多麻烦.这个脚本确实运行,但我不希望它以root身份运行.我希望脚本可以作为不同的用户调用,也可以在脚本运行时让脚本更改用户.
由于我们正在尝试使用Cloud Formation,因此我需要将脚本或脚本的引用放在我的模板文件中.我的模板文件的相关部分如下.脚本'myScript.sh'确实运行,但始终以root身份运行.
"MyImage" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "xxxxxx",
"KeyName" : "xxxxxx",
"SecurityGroups" : [ "xxxxxx" ],
"UserData" : {"Fn::Base64" : {"Fn::Join" : ["", [
"#include\n",
"https://s3-eu-west-1.amazonaws.com/aFolder/myScript.sh \n"
] ] } }
}
}
},
Run Code Online (Sandbox Code Playgroud)
从URL:http://alestic.com/2009/06/ec2-user-data-scripts它声明这些脚本始终以root身份运行.所以我决定修改脚本来改变用户.下面是一个不能满足我想要的示例脚本.我已经内联评论它来解释每个阶段的作用:
#!/bin/bash
whoami > /home/ubuntu/who1.txt # Always returns 'root'
su ubuntu # Appears to have no effect. Ubuntu user does exist
whoami > /home/ubuntu/who2.txt # Always returns 'root'
su ubuntu echo fish > /home/ubuntu/aFile.txt # File is not created
sudo -u ubuntu bash # Appears to have no effect
whoami > /home/ubuntu/who3.txt # Always returns 'root'
Run Code Online (Sandbox Code Playgroud)
我猜我的脚本有一些根本性的错误,但我看不到它!有没有人有过AWS和Cloud Formation的经验,你是否成功地以root身份运行脚本?我真的不希望脚本以root身份运行,因为要启动的活动不应该在根级别拥有.
谢谢,菲尔
| 归档时间: |
|
| 查看次数: |
12373 次 |
| 最近记录: |