Authentication 在使用CloudFormation启动计算机期间添加用户
我正在尝试在Linux机器启动后使用CloudFormation创建一个用户。 我使用以下代码执行此操作:Authentication 在使用CloudFormation启动计算机期间添加用户,authentication,amazon-cloudformation,Authentication,Amazon Cloudformation,我正在尝试在Linux机器启动后使用CloudFormation创建一个用户。 我使用以下代码执行此操作: Metadata: AWS::CloudFormation::Init: config: groups: ansible: {} users: ansible: groups: - "ansible" homeDir: "/h
Metadata:
AWS::CloudFormation::Init:
config:
groups:
ansible: {}
users:
ansible:
groups:
- "ansible"
homeDir: "/home/ansible"
files:
/home/ansible/.ssh/authorized_keys:
content: !Sub |
'{{ resolve:secretsmanager:
arn:aws:secretsmanager:eu-central-1:account:secret:secretname:
SecretString:
secretstringpath }}'
mode: "000644"
owner: "ansible"
group: "ansible"
Properties:
UserData:
Fn::Base64: !Sub |
#!/bin/bash -xe
yum update -y
yum install -y aws-cfn-bootstrap
/opt/aws/bin/cfn-init -v \
--stack ${AWS::StackName} \
--resource LinuxEC2Instance \
--region ${AWS::Region}
但是,在启动过程中,我收到以下错误消息:
[96.72999017]云初始化[2959]:生成期间出错:无法添加用户ansible
这个错误意味着什么?它似乎不像我所期望的那样工作…在将用户分配到自定义组之前,必须创建这样的组 为此,
AWS::CloudFormation::Init
中有一个选项
例如:
groups:
ansible: {}
谢谢但是,这是有效的,现在我在以下情况下出现了此错误:生成期间发生错误:未能添加用户ansible。你知道我在这里要做什么吗?除了我添加了groups:ansible{}作为suggestedNoProblem之外,它的代码是相同的。不确定是否可以使用
uid:1
。我可以省去看看。@Benny我也有同样的错误:-(解决方法是只使用UserData
:adduser ansible-g ansible
。不知道是什么原因造成的。抱歉。谢谢!添加使用UserData的用户很有效!我还有最后一个问题要解决,我需要将证书内容复制到.ssh文件夹中,我尝试以这种方式使用它。){{解析:secretsmanager:arn:aws:secretsmanager:eu-central-1:account:secretname:SecretString:secretstringpath}“但这并不能解决secretsmanager中的内容,它只是将整个字符串作为内容保存到文件中,知道如何正确地执行此操作吗?非常感谢,你真的在这里帮助了我!@Benny Cool。很高兴听到这个消息。也许你可以用相关信息创建新问题。现在我必须完成。这样其他人可能会被拒绝。”乐来帮忙:-)