Eu uso o CloudFormation para aumentar uma pilha com uma instância do EC2. Quando a instância estiver em execução, quero poder usar o recurso "Executar comando" para executar alguns scripts, masnão como usuário root. É por isso que, no script init ( UserData
seção do modelo YAML), eu crio um novo usuário seguindo odocumentos:
sudo adduser sometestuser sudo su - sometestuser mkdir .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys
Presumo que depois que a instância for totalmente inicializada, posso usar esse usuário para executar alguns scripts. Em seguida, faço login na instância ou uso "Executar comando" e executo esse comando para verificar se o usuário existe:
id -u sometestuser
Problema
Depois de algum tempo após a criação da instância (até 10 minutos, como percebi até agora), parece que o usuário foi removido. Por exemplo, após SSHing para o host:
[...@ip-10-0-44-213]/% date && id -u sometestuser Tue Sep 11 10:25:41 UTC 2018 59844 [...@ip-10-0-44-213]/% date && id -u sometestuser Tue Sep 11 10:28:03 UTC 2018 59844 [...@ip-10-0-44-213]/% date && id -u sometestuser Tue Sep 11 10:31:42 UTC 2018 id: sometestuser: no such user [...@ip-10-0-44-213]/% date && id -u sometestuser Tue Sep 11 10:32:28 UTC 2018 id: sometestuser: no such user
Você pode ver que o usuário existiu por vários minutos e depois desapareceu. Consegui reproduzi-lo toda vez que acionei a instância.
Pergunta
Por que funciona assim? Existe algum trabalho em segundo plano que remove usuários personalizados que possivelmente não cumprem algumas regras?
Responder1
Acontece que usamos algum mecanismo que eu não conhecia. O mecanismo sincroniza contas de usuários com algum grupo de usuários internos da empresa.