Olá, Cledson.
Tudo bem?
Você pode tentar fazer isso usando o campo user_data no recurso aws_instance, da mesma forma que foi feito na aula para criar o arquivo e iniciar o servidor. No entanto, a criação de um usuário e senha seria feita com comandos diferentes.
Aqui está um exemplo de como você poderia fazer isso:
resource "aws_instance" "app_server" {
ami = "ami-03d5c68bab01f3496"
instance_type = "t2.micro"
key_name = "iac-alura"
user_data = <<-EOF
#!/bin/bash
sudo adduser novo_usuario
echo -e "senha\nsenha" | sudo passwd novo_usuario
EOF
tags {
Name = "Primeira instancia"
}
}
Neste exemplo, o comando sudo adduser novo_usuario cria um novo usuário chamado novo_usuario. O comando echo -e "senha\nsenha" | sudo passwd novo_usuario define a senha do novo usuário como senha. O -e permite que o echo interprete os caracteres de controle, como o \n que é usado para simular a entrada de uma nova linha, que é necessária para confirmar a senha.
Porém, é importante ressaltar que a prática de criar usuários e senhas dessa maneira não é segura e não é recomendada para ambientes de produção. Para ambientes de produção, é recomendado usar chaves SSH para autenticação, que é mais seguro do que usar senhas.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.