Authentication 在使用CloudFormation启动计算机期间添加用户

Authentication 在使用CloudFormation启动计算机期间添加用户,authentication,amazon-cloudformation,Authentication,Amazon Cloudformation,我正在尝试在Linux机器启动后使用CloudFormation创建一个用户。 我使用以下代码执行此操作: Metadata: AWS::CloudFormation::Init: config: groups: ansible: {} users: ansible: groups: - "ansible" homeDir: "/h

我正在尝试在Linux机器启动后使用CloudFormation创建一个用户。 我使用以下代码执行此操作:

  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。很高兴听到这个消息。也许你可以用相关信息创建新问题。现在我必须完成。这样其他人可能会被拒绝。”乐来帮忙:-)