openssl passwderwartet ein Passwort von 0 bis 10 Zeichen.
Onnonymous
6
Der Grund, warum es nicht funktioniert hat, ist usermod, dass die Option -p erwartet, dass das Passwort bereits verschlüsselt ist.
Aus usermodder Manpage:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
Es wird nicht empfohlen, ein Passwort auf diese Weise festzulegen.
Stattdessen sollten Sie verwenden passwd <username>. Dies sollte (as usermod) als root erfolgen (wenn Sie das aktuell angemeldete Benutzerkennwort nicht ändern).
So ändern Sie das Passwort für Benutzer foo.
sudo passwd foo
Dadurch werden Sie zur Eingabe eines neuen Kennworts aufgefordert.
passwdWeitere Informationen zum Einstellen von beispielsweise Ablaufzeit finden Sie auf der Manpage .
@ Achu: Es ist das aktuelle Benutzerkennwort erforderlich. Aber er ist Superuser.
RiaD
Was bedeutet superuser?
Achu
3
Die Möglichkeit, mit usermod ein Passwort zuzuweisen (was das OP tatsächlich verlangt hat), besteht darin, ein crypt()Hash-Passwort für das -pArgument zu verwenden.
Ein nicht interaktiver einzeiliger Befehl zum Ändern des Kennworts eines Benutzers:
sudo usermod -p `perl -e "print crypt("new-password","Q4")"` john
usermod -perfordert ein verschlüsseltes Passwort, um zu funktionieren. Bitte beachten Sie, new-passworddass dies für Benutzer sichtbar ist, die die Prozesse auflisten können.
bedeutet, dass mehrere sehr ähnliche Passwörter ALLE funktionieren. Beachten Sie beispielsweise auf einem Oracle Linux 7.4-Server und einem Ubuntu 17.10-Desktop Folgendes:
Sie werden feststellen, dass JEDES Passwort, das mit "borkling" beginnt, funktioniert, z
borkling88 borklingjars
Obwohl "borkline" nicht funktioniert, funktioniert dies, weil, wie bereits erwähnt, jedes Passwort mit dem Präfix "borkling" auch funktioniert, wenn das Passwort auf diese Weise festgelegt wird.
Ein Weg dahin, dass afaik diese unerwünschte Nebenwirkung nicht hat, ist der folgende:
Antworten:
Das
usermod -p
Flag erwartet, dass die Daten das Kennwort sind, das bereits in einem verschlüsselten Format vorliegt.Verwenden
openssl passwd
Sie diese Option , um die verschlüsselten Daten zu generieren, oder gehen Sie folgendermaßen vor:quelle
openssl passwd
erwartet ein Passwort von 0 bis 10 Zeichen.Der Grund, warum es nicht funktioniert hat, ist
usermod
, dass die Option -p erwartet, dass das Passwort bereits verschlüsselt ist.Aus
usermod
der Manpage:Es wird nicht empfohlen, ein Passwort auf diese Weise festzulegen.
Stattdessen sollten Sie verwenden
passwd <username>
. Dies sollte (asusermod
) als root erfolgen (wenn Sie das aktuell angemeldete Benutzerkennwort nicht ändern).So ändern Sie das Passwort für Benutzer foo.
Dadurch werden Sie zur Eingabe eines neuen Kennworts aufgefordert.
passwd
Weitere Informationen zum Einstellen von beispielsweise Ablaufzeit finden Sie auf der Manpage .Viel Glück!
quelle
Sie können verwenden
passwd
:Sie brauchen nicht,
sudo
wenn Sie selbst Superuser sindquelle
sudo
Root-Passwort erforderlich :)superuser
?Die Möglichkeit, mit usermod ein Passwort zuzuweisen (was das OP tatsächlich verlangt hat), besteht darin, ein
crypt()
Hash-Passwort für das-p
Argument zu verwenden.Verwenden Sie das dann in Ihrem
usermod -p
Befehlszeilenargument:quelle
Ein nicht interaktiver einzeiliger Befehl zum Ändern des Kennworts eines Benutzers:
usermod -p
erfordert ein verschlüsseltes Passwort, um zu funktionieren. Bitte beachten Sie,new-password
dass dies für Benutzer sichtbar ist, die die Prozesse auflisten können.quelle
Was hier hinzugefügt werden sollte, ist das Folgende. Diese Methode:
sudo usermod -p
perl -e "print crypt("new-password","Q4")"
johnbedeutet, dass mehrere sehr ähnliche Passwörter ALLE funktionieren. Beachten Sie beispielsweise auf einem Oracle Linux 7.4-Server und einem Ubuntu 17.10-Desktop Folgendes:
sudo usermod -p
perl -e "print crypt("borkling","Q4")"
orabuntuNun, wenn man tut:
su - orabuntu
Sie werden feststellen, dass JEDES Passwort, das mit "borkling" beginnt, funktioniert, z
borkling88 borklingjars
Obwohl "borkline" nicht funktioniert, funktioniert dies, weil, wie bereits erwähnt, jedes Passwort mit dem Präfix "borkling" auch funktioniert, wenn das Passwort auf diese Weise festgelegt wird.
Ein Weg dahin, dass afaik diese unerwünschte Nebenwirkung nicht hat, ist der folgende:
(Gutschrift für diese geht an "Sandeep" hier:
/programming/2150882/how-to-automatically-add-user-account-and-password-with-a-bash-script )
Unter RedHaty Linux: (lassen Sie das "-G Wheel" weg, wenn Sie nicht möchten, dass Sudo-Privilegien gewährt werden.)
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G Rad $ {USERNAME}
Unter Debiany Linuxes (lassen Sie das -G sudo weg, wenn Sie keine sudo privs möchten):
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {USERNAME}
quelle
Tipp einfach
Auf diese Weise kann ein normaler Benutzer sein eigenes Passwort ohne Root-Berechtigung ändern, wenn Sie keine haben.
quelle