Sie können chpasswd
verwenden um es zu tun, so:
echo "username:newpassword" | chpasswd
Sie können in chpasswd
leiten aus anderen Programmen als echo
, wenn es praktisch ist, aber das reicht aus.
Bearbeiten:Um das Passwort innerhalb des Shell-Skripts zu generieren und es dann festzulegen, können Sie Folgendes tun:
# Change username to the correct user:
USR=username
# This will generate a random, 8-character password:
PASS=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c8`
# This will actually set the password:
echo "$USR:$PASS" | chpasswd
Weitere Informationen zu chpasswd
, siehe http://linux.die.net/man/8/chpasswd
(Der Befehl zum Generieren des Passworts stammt von http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html)
Sie können OpenSSL verwenden, um das zufällige Passwort (in diesem Fall 16 Zeichen) zu generieren:
# 1000 bytes should be enough to give us 16 alphanumeric ones
p=$(openssl rand 1000 | strings | grep -io [[:alnum:]] | head -n 16 | tr -d '\n')
Geben Sie dann das gehashte Passwort an useradd
weiter oder usermod
# omit the "-1" if you want traditional crypt()
usermod -p $(openssl passwd -1 "$p") <username>
BEARBEITEN:
Seit dieser Veröffentlichung im Jahr 2012 haben neuere Versionen von OpenSSL dem openssl passwd
Funktionalität hinzugefügt Befehl. Anstatt den -1
zu verwenden Option, um einen MD5-basierten Hash zu erhalten, moderne Versionen unterstützen auch -5
für SHA256-basierte Hashes und -6
für SHA512-basierte Hashes.
Gutschrift wem gebührt:Die Passwortgenerierung wird von einer ähnlichen Methode angepasst, die /dev/urandom
verwendet statt openssl
.
Benutzer hinzufügen sollte funktionieren (ich habe es auf Ubuntu gemacht). Überprüfen Sie vielleicht, ob jedes Ihrer Argumente korrekt ist (es gibt drei Gruppen, der Pfad zum Bash ist richtig). Sie können den Befehl nur mit einem Passwort und einem Benutzer ausführen und dann userdel verwenden zu entfernen und es dann mit mehr Parametern erneut zu versuchen, um zu sehen, was das Problem verursacht (Brute-Force-Ansatz).
Es gibt auch neue Benutzer (siehe Manpage), zumindest unter Ubuntu, wo Sie ihm eine Datei mit passwd-Datei wie info geben, einschließlich Klartext-Passwörtern, und es wird diese Benutzer erstellen. Gute Möglichkeit, viele Benutzer gleichzeitig zu erledigen.