Ich habe eine Anleitung gefunden, in der erklärt wird, wie das Kennwort eines Benutzers festgelegt wird . Ich versuche es zu automatisieren und eine E-Mail an den Benutzer zu senden, wie:
userid created with password XYZ.
request to change the initial password.
Gemäß dem obigen Dokument muss ein verschlüsseltes Passwort mit Python erstellt und dem usermod
Befehl wie folgt zugeführt werden :
usermod -p "<encrypted-password>" <username>
Gibt es andere einfachere Möglichkeiten, dies zu tun? Ich möchte kein spezielles Dienstprogramm herunterladen, um dies zu tun. es sollte so weit wie möglich verallgemeinert werden.
Bearbeiten : Selbst die im obigen Link angegebene Methode scheint für mich nicht zu funktionieren:
bash-3.00# python
Python 2.4.6 (#1, Dec 13 2009, 23:43:51) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt; print crypt.crypt("<password>","<salt>")
<sOMrcxm7pCPI
>>> ^D
bash-3.00# useradd -g other -p "sOMrcxm7pCPI" -G bin,sys -m -s /usr/bin/bash mukesh2
UX: useradd: ERROR: project sOMrcxm7pCPI does not exist. Choose another.
UX: useradd: sOMrcxm7pCPI name should be all lower case or numeric.
usermod
wenn jemandps
sieht, dass der Prozess, in dem das PasswortAntworten:
Sie können dies folgendermaßen
chpasswd
tun:Sie können
chpasswd
von anderen Programmen alsecho
, wenn es zweckmäßig ist, in Pipe einsteigen, aber dies reicht aus.Bearbeiten: Um das Kennwort im Shell-Skript zu generieren und dann festzulegen, können Sie Folgendes tun:
Weitere Informationen
chpasswd
finden Sie unter 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 )
quelle
sudo echo "username:newpass" | chpasswd
? Da die erhöhten Berechtigungen vonsudo
nicht durch die Pipe gehen,chpasswd
würde dies als normaler Benutzer ausgeführt. Sie kann durch Verschieben dessudo
wie in behoben werdenecho "username:newpass" | sudo chpasswd
. Es gibt auch andere Probleme, die diese Fehlermeldung verursachen können, aber Berechtigungsfehler wie diese sind wahrscheinlich die häufigsten.Sie können OpenSSL verwenden, um das zufällige Passwort zu generieren (in diesem Fall 16 Zeichen):
Geben Sie dann das Hash-Passwort an
useradd
oder weiterusermod
Gutschrift wo fällig: Die Passwortgenerierung wird nach einer ähnlichen Methode angepasst , die
/dev/urandom
anstelle von verwendet wirdopenssl
.quelle
useradd sollte funktionieren (ich habe es unter Ubuntu gemacht). Überprüfen Sie vielleicht, ob alle Ihre Argumente korrekt sind (es gibt Gruppen, der Pfad ist richtig, um zu schlagen). Sie können den Befehl nur mit einem Kennwort und einem Benutzer ausführen und dann mit userdel weitere Parameter entfernen und erneut versuchen , um festzustellen , was das Problem verursacht (Brute-Force-Ansatz).
Es gibt auch neue Benutzer (siehe Manpage), zumindest unter Ubuntu, wo Sie ihm eine Datei mit passwd-Dateien wie Informationen, einschließlich Klartext-Passwörtern, geben und diese Benutzer erstellen. Gute Möglichkeit, viele Benutzer gleichzeitig zu erledigen.
quelle
newusers
Befehls für Ubuntueinfachster Weg, den ich gefunden habe:
quelle
passwd: unrecognized option '--stdin'