Ich habe den useradd {user}
Befehl zum Hinzufügen von Benutzern zu meinem System ausgeführt, obwohl ich dies in einer automatisierten Umgebung ausführen möchte, und es wird möglicherweise erneut ausgeführt, obwohl der Benutzer bereits vorhanden ist.
Kann ich das nur ausführen, wenn der Benutzer noch nicht existiert? Der Benutzer hat keinen Basisordner.
adduser
wird allgemein auf Debian / Ubuntu-Systemen bevorzugt.useradd
.Antworten:
id -u somename
Gibt einen Exit-Code ungleich Null zurück, wenn der Benutzer nicht existiert.Sie können es ganz einfach testen ... (
&>/dev/null
unterdrückt nur die normale Ausgabe / Warnung)quelle
Versuche dies:
oder auch das:
quelle
Wenn Sie nicht nur eine kleine Handvoll Systeme haben, stellen Sie die falsche Frage. Die Antwort ist, dass useradd überhaupt nicht ausgeführt wird, sondern dass diese Arbeit einer Konfigurationsverwaltungslösung wie Puppet oder Chef überlassen wird. Auf diese Weise können Sie Ihre Benutzerdefinitionen zentralisieren und verhindern, dass Sie für Schleifen ausgeführt werden und ssh mit Root-Benutzern verwenden, um Ihre Systeme zu konfigurieren. Sie werden immer Systeme in einem bekannten Konfigurationsstatus haben.
Die Dokumentation für Puppets finden Sie unter http://docs.puppetlabs.com
Als Beispiel in Puppe:
quelle
useradd würde den Benutzer nicht erneut hinzufügen, wenn er bereits vorhanden ist. Es soll sichergestellt werden, dass die UID-Nummer und die UID-Anmeldung eindeutig sind. Wenn Sie vorhaben, einen Stapel zu durchlaufen, stellen Sie sicher, dass die verwendeten UIDs eindeutig sind. useradd würde sich über die problematischen Einträge beschweren und Sie müssen die Fehler / stderr erfassen, um zu sehen, welche Benutzerkonten Probleme hatten, in die Kontosysteme (/ etc / passwd, group, shadow) zu gelangen.
quelle