如何在启动期间在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
答案 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身份运行。