%20via%20CloudInit%20na%20AWS.png)
Estou usando o CloudInit para automatizar a inicialização das minhas instâncias na AWS. Segui a (escassa) documentação disponível emhttp://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/annotate/head%3A/doc/examples/cloud-config.txte exemplos em /usr/share/doc/cloud-init
, mas ainda não descobri como alterar o nome de usuário padrão (ubuntu, id:1000).
Eu sei que posso criar um script para excluir manualmente o Ubuntu padrão e adicionar meu usuário, mas parece contra-intuitivo, visto que o CloudInit existe exatamente para automatizar a configuração inicial.
Alguma ideia?
Responder1
De acordo comesse, o CloudInit deve oferecer suporte a diretivas personalizadas para criar novos usuários, incluindo a substituição do usuário "ubuntu" padrão. Eu tentei seguindo exemplos, mas não consegui fazê-lo funcionar.
No entanto, como o CloudInit oferece suporte a scripts de dados do usuário e você pode fazer praticamente qualquer coisa em um script, prefiro usar comandos padrão em vez de tentar aprender algumas novas diretivas personalizadas.
Veja como altero o nome de usuário padrão de “ubuntu” em um script de dados do usuário. Este exemplo usa o novo nome de usuário "newuser" que você deve alterar de acordo com sua preferência:
#!/bin/bash -ex
user=newuser
usermod -l $user ubuntu
groupmod -n $user ubuntu
usermod -d /home/$user -m $user
mv /etc/sudoers.d/90-cloudimg-ubuntu /etc/sudoers.d/90-cloudimg-$user
perl -pi -e "s/ubuntu/$user/g;" /etc/sudoers.d/90-cloudimg-$user
Você pode adicionar esse script de dados do usuário para fazer qualquer outra inicialização e configuração necessária em suas instâncias.
Atualização: escrevi um artigo expandido descrevendo as etapas para usar um script de dados do usuário e como fazê-lo com CloudInit em versões recentes do Ubuntu:http://alestic.com/2014/01/ec2-change-username
Responder2
Você pode colocar isso em userdata:
#cloud-config
system_info:
default_user:
name: otherusername