2016-05-31 18 views
0

起動時にRedhatインスタンスでユーザーを作成するにはどうすればよいですか?私は、次のコマンドをユーザデータに含めようとしましたが、うまくいきませんでした。どんな考え?またはuserdataを使用してユーザーを作成する別の方法がありますか?RedHatユーザーを作成するCloudFormationのユーザーデータ

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

答えて

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のエラーをチェックすることもできます。

実行中のインスタンスでコマンドをテストして、スタック内で試す前に動作することを確認してください。これにより、長期的に時間を節約できます。

0

Amazonのamiを使用していることを確認してください。わずかなamiのサポートUserData。 UserDataはrootとして実行されます。

関連する問題