%20a%20trav%C3%A9s%20de%20CloudInit%20en%20AWS.png)
Estoy usando CloudInit para automatizar el inicio de mis instancias en AWS. Seguí la (escasa) documentación disponible enhttp://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/annotate/head%3A/doc/examples/cloud-config.txty ejemplos en /usr/share/doc/cloud-init
, pero todavía no he descubierto cómo cambiar el nombre de usuario predeterminado (ubuntu, id:1000).
Sé que puedo crear una secuencia de comandos para eliminar manualmente el ubuntu predeterminado y agregar mi usuario, pero parece contrario a la intuición dado que CloudInit existe exactamente para automatizar la configuración inicial.
¿Algunas ideas?
Respuesta1
De acuerdo aeste, CloudInit debería admitir directivas personalizadas para crear nuevos usuarios, incluida la anulación del usuario predeterminado "ubuntu". Lo intenté siguiendo ejemplos, pero no pude hacerlo funcionar.
Sin embargo, dado que CloudInit admite scripts de datos de usuario y puede hacer casi cualquier cosa en un script, prefiero usar comandos estándar en lugar de intentar aprender algunas directivas personalizadas nuevas.
Así es como cambio el nombre de usuario predeterminado de "ubuntu" en un script de datos de usuario. Este ejemplo utiliza el nuevo nombre de usuario "nuevousuario" que debes cambiar según tus preferencias:
#!/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
Puede agregar este script de datos de usuario para realizar cualquier otra inicialización y configuración necesaria en sus instancias.
Actualización: escribí un artículo ampliado que describe los pasos para usar un script de datos de usuario y cómo hacerlo con CloudInit en versiones recientes de Ubuntu:http://alestic.com/2014/01/ec2-change-username
Respuesta2
Puedes poner esto en datos de usuario:
#cloud-config
system_info:
default_user:
name: otherusername