Wie fügt man automatisch Benutzerkonto UND Passwort mit einem Bash-Skript hinzu?
Muss ich die Fähigkeit haben, erstellen Sie Benutzerkonten auf meinem Linux (Fedora 10) und automatisch ein Passwort vergeben über ein bash-Skript(oder sonst, wenn es sein muss).
Es ist einfach zu erstellen, die den Benutzer über die Bash z.B.:
[whoever@server ]# /usr/sbin/useradd newuser
Ist es möglich, ein Kennwort zu vergeben in Bash, etwas mit ähnlicher Funktion wie dieses, aber automatisch:
[whoever@server ]# passwd newuser
Changing password for user testpass.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[whoever@server ]#
InformationsquelleAutor der Frage ModernCarpentry | 2010-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Führen Sie den Befehl passwd aus und senden Sie es geleitet Eingang. So etwas wie:
InformationsquelleAutor der Antwort Tralemonkey
Könnten Sie auch chpasswd:
so ändern Sie das Kennwort für den Benutzer
username
zunew_password
.InformationsquelleAutor der Antwort SilverDaemon
Frage ich mich die gleiche Sache, und wollte nicht zu verlassen Sie sich auf ein Python-Skript.
Dies ist die Zeile, um einen Benutzer hinzuzufügen, der mit einer definierten Passwort in einer bash-Zeile:
InformationsquelleAutor der Antwort Damien
Den code unten arbeitete in Ubuntu 14.04. Versuchen Sie es, bevor Sie es in anderen Versionen/linux-Varianten.
InformationsquelleAutor der Antwort Ying
Ich mochte Tralemonkey Ansatz von
echo thePassword | passwd theUsername --stdin
obwohl es nicht ganz der Arbeit für mich als geschrieben. Dies ist jedoch für mich gearbeitet.-e
ist zu erkennen\n
als neue Zeile.sudo
ist root-Zugang für Ubuntu.Den Anführungszeichen zu erkennen
$
und erweitern Sie die Variablen.Den oben genannten Befehl übergibt das Passwort und eine neue Zeile ein, zwei mal, auf
passwd
waspasswd
erfordert.Wenn nicht mit Hilfe von Variablen, ich denke, das funktioniert wohl.
Einzelne Zitate sollen hier genügen.
InformationsquelleAutor der Antwort Paul S
Folgende funktioniert bei mir und getestet auf Ubuntu 14.04. Es ist ein Einzeiler, die nicht erfordert keine Benutzereingaben.
Genommen von @Tralemonkey
InformationsquelleAutor der Antwort cevaris
Können Sie mit der option-p.
Leider, dies bedeutet, müssen Sie das Kennwort gehasht sich selbst (wo passwd tut das für Sie). Leider, es scheint nicht zu einem standard-Werkzeug für die hash-einige Daten, so müssen Sie schreiben, dass sich.
Hier ein kleines Python-script, das ich ausgepeitscht, bis die Verschlüsselung für Sie. Vorausgesetzt, Sie nannte es pcrypt, Sie würden dann schreiben Sie Ihre obigen Befehlszeile:
Ein paar Warnungen bewusst zu sein.
und hier ist pcrypt:
InformationsquelleAutor der Antwort R Samuel Klatchko
--stdin
funktioniert nicht auf Debian. Es sagt:Dieser arbeitete für mich:
Hier finden wir einige andere gute Möglichkeiten:
InformationsquelleAutor der Antwort Roger
Können Sie erwarten, in dein bash-script.
Vom http://www.seanodonnell.com/code/?id=21
InformationsquelleAutor der Antwort Carlos Tasada
Ich weiß, ich komme in diesem Jahre später, aber ich kann nicht glauben, dass noch niemand vorgeschlagen, usermod.
Hölle, nur für den Fall jemand will, um dies zu tun auf einem älteren HPUX können Sie
usermod.sam
.- F ist nur erforderlich, wenn die person, die die Ausführung des Skripts ist der aktuelle Benutzer. Natürlich Sie nicht brauchen, um verwenden Perl, um den hash. Sie könnte verwenden openssl oder viele andere Befehle an seine Stelle.
InformationsquelleAutor der Antwort Jeight
Single-liner erstellen Sie einen sudo-Benutzer mit home-Verzeichnis und das Kennwort.
InformationsquelleAutor der Antwort Sandeep
Hier ist ein Skript, das dies für Sie tun wird .....
Können Sie eine Liste der Benutzer (oder Benutzer) wenn Sie wollen, alle auf einmal und jede hat ein anderes Passwort. Als bonus erhalten Sie am Ende des Skripts mit einer Liste der einzelnen Benutzer-Passwort. .... Wenn Sie möchten, können Sie fügen Sie einige Benutzer-Wartung-Optionen
wie:
dem Skript das Passwort, Alter und so weiter.
=======
===========
Hoffe, das hilft.
Cheers,
Carel
InformationsquelleAutor der Antwort Carel Lubbe
Getestet hab ich in meiner eigenen shell-Skript.
$new_username
bedeutet, dass neu erstellte Benutzer$new_password
bedeutet neu PasswortFür CentOS
Für Debian/Ubuntu
Für OpenSUSE
InformationsquelleAutor der Antwort Gorgon
Die Lösung, die funktioniert auf beiden Debian und Red Hat. Hängt davon ab, perl, verwendet sha-512-hashes:
Verwendung:
Es kann effektiv verwendet werden, als ein one-liner, aber Sie müssen, um das Kennwort anzugeben, Salz und Benutzername an den richtigen stellen selbst:
InformationsquelleAutor der Antwort golem
Von IBM (https://www.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds1/chpasswd.htm):
Erstellen Sie eine Textdatei, sagen text.txt und füllen Sie es mit user:password-Paare wie folgt:
Speichern text.txt Datei, und führen Sie
Das ist es. Die richtige Lösung ist skalierbar und (b) nicht mit Druck Passwörter auf der Kommandozeile.
InformationsquelleAutor der Antwort Vietnhi Phuvan
Tralemonkey die Lösung fast arbeitete für mich als auch ... aber nicht ganz. Ich landete, es zu tun auf diese Weise:
2 wichtige details seiner Lösung nicht enthalten, die
-n
hält, echo hinzufügen, eine\n
um das Kennwort wird immer verschlüsselt, und die einfachen Anführungszeichen schützen den Inhalt interpretiert wird von der shell (bash) in meinem Fall.BTW ich lief diesen Befehl als root auf einem CentOS 5.6-system, falls sich jemand wundert.
InformationsquelleAutor der Antwort slm
InformationsquelleAutor der Antwort edacval
Für RedHat /CentOS hier ist der code, der erstellt einen Benutzer, fügt die Passwörter und lässt den Benutzer ein sudoer:
InformationsquelleAutor der Antwort Lefty G Balogh
Verwendung:
./my_add_user.sh USER PASSWD
code:
InformationsquelleAutor der Antwort hustljian