Lösung 1:
Demnach sollte CloudInit benutzerdefinierte Anweisungen zum Erstellen neuer Benutzer unterstützen, einschließlich des Überschreibens des Standardbenutzers „ubuntu“. Ich habe es anhand der folgenden Beispiele versucht, konnte es aber nicht zum Laufen bringen.
Da CloudInit jedoch Benutzerdatenskripte unterstützt und Sie in einem Skript so gut wie alles tun können, ziehe ich es vor, Standardbefehle zu verwenden, anstatt zu versuchen, einige neue benutzerdefinierte Anweisungen zu lernen.
So ändere ich den Standardbenutzernamen von "ubuntu" in einem Benutzerdatenskript. Dieses Beispiel verwendet den neuen Benutzernamen "newuser", den Sie nach Ihren Wünschen ändern sollten:
#!/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
Sie können dieses Benutzerdatenskript hinzufügen, um andere Initialisierungen und Konfigurationen vorzunehmen, die auf Ihren Instanzen erforderlich sind.
Aktualisierung:Ich habe einen erweiterten Artikel geschrieben, der die Schritte zur Verwendung eines Benutzerdatenskripts und die Vorgehensweise mit CloudInit in neueren Versionen von Ubuntu beschreibt:http://alestic.com/2014/01 /ec2-Benutzername ändern
Lösung 2:
Sie können dies in Benutzerdaten einfügen:
#cloud-config
system_info:
default_user:
name: otherusername