使用 aws 中的用户数据使用“ec2-user”而不是 root 登录

xyz*_*123 7 amazon-ec2 amazon-web-services aws-opsworks

我有一个基于 RHEL 6.4 64 位 AMI 的 Amazon EC2 实例。写了一些shell脚本之后;我用它创建了我自己的 AMI Image。

我正在编写用户数据部分,它将删除 /home/ec2-user(sudo rm -rf /home/ec2-user/*) 下的内容,然后执行该脚本。但我无法删除任何文件。

我想要的是:

  • 我想删除文件。
  • 我有一个更奇怪的用例,默认情况下,用户数据部分以“root”用户身份输入,但是否有可能以“ec2-user”用户身份输入并完成我的工作..?

Kok*_*oka 12

用户数据始终以 root 身份运行,因此不要使用 sudo。下面以 ec2-user 身份运行 cmd。如果你想在后台启动一个可执行文件(即&在最后添加)

su ec2-user -c 'do whatever you want; ./run.sh &'

  • 值得一提的是,$PATH 和 $HOME 变量的值是从 root 用户环境中保留的。 (5认同)

Tac*_*che 1

您无法在普通 ec2 用户帐户中执行此操作以部署用户身份执行此命令...

sudo su - deploy
Run Code Online (Sandbox Code Playgroud)

然后您将可以转到当前位置的应用程序...

cd /srv/www/sample_app/current
Run Code Online (Sandbox Code Playgroud)