CloudFormation userdata创建RedHat用户

时间:2016-05-31 05:15:57

标签: amazon-ec2 amazon-cloudformation

如何在启动期间在redhat实例上创建用户?我尝试在用户数据中包含以下命令但不起作用。知道为什么吗?或者是否有另一种使用userdata创建用户的方法?

sudo su
useradd -s /bin/bash -m -d /home/testuser  -g root testuser
echo P@ssc0deT3st | passwd testuser --stdin
sed -re 's/^(PasswordAuthentication)([[:space:]]+)no/\1\2yes/' -i.`date -I` /etc/ssh/sshd_config
service sshd restart

2 个答案:

答案 0 :(得分:0)

尝试这样的事情

"UserData"       : { "Fn::Base64" : { "Fn::Join" : ["", [
      "#!/bin/bash -xe\n",

      "useradd -d /home/testuser -g root -m -s /bin/bash testuser", "\n",
    ]]}}

虽然我不确定您是否允许将用户添加到群组根目录,但这不在此处,也不在那里。然后,您可以使用与我的示例中的useradd命令相同的方式添加其余命令。

请注意,有时需要几分钟才能执行UserData,因此请在实例启动并运行后几分钟。你也可以在cmd-init.log中检查/ var / log中的错误。我相信。

确保在正在运行的实例上测试您的命令,以确保它们在堆栈中尝试之前有效,从长远来看,它可以节省您的时间。

答案 1 :(得分:0)

确保您使用亚马逊的ami。只有少数ami支持UserData。 UserData以root身份运行。