So ändern Sie den Standardbenutzer (Ubuntu) über CloudInit auf AWS

So ändern Sie den Standardbenutzer (Ubuntu) über CloudInit auf AWS

Ich verwende CloudInit, um den Start meiner Instanzen auf AWS zu automatisieren. Ich habe die (spärliche) Dokumentation befolgt, die unter verfügbar isthttp://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/annotate/head%3A/doc/examples/cloud-config.txtund Beispiele auf /usr/share/doc/cloud-init, habe aber immer noch nicht herausgefunden, wie man den Standardbenutzernamen (Ubuntu, ID:1000) ändert.

Ich weiß, dass ich ein Skript erstellen kann, um das Standard-Ubuntu manuell zu löschen und meinen Benutzer hinzuzufügen, aber das erscheint kontraintuitiv, da CloudInit genau dazu da ist, die Ersteinrichtung zu automatisieren.

Irgendwelche Ideen?

Antwort1

EntsprechendDas, CloudInit sollte benutzerdefinierte Anweisungen zum Erstellen neuer Benutzer unterstützen, einschließlich der Überschreibung des Standardbenutzers „ubuntu“. Ich habe es anhand der folgenden Beispiele versucht, aber es hat nicht funktioniert.

Da CloudInit jedoch Benutzerdatenskripte unterstützt und Sie in einem Skript praktisch alles tun können, verwende ich lieber Standardbefehle, 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 ergänzen, um alle anderen erforderlichen Initialisierungs- und Konfigurationsvorgänge für Ihre Instanzen durchzuführen.

Update: Ich habe einen ausführlichen Artikel geschrieben, in dem die Schritte zur Verwendung eines Benutzerdatenskripts und die Vorgehensweise mit CloudInit unter neueren Ubuntu-Versionen beschrieben werden:http://alestic.com/2014/01/ec2-change-username

Antwort2

Sie können dies in die Benutzerdaten einfügen:

#cloud-config
system_info:
  default_user:
    name: otherusername

verwandte Informationen