Powodem, dla którego nie działało, jest to, że usermodopcja -p oczekuje, że hasło zostanie już zaszyfrowane.
Ze usermodstrony podręcznika użytkownika:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).
Ustawienie hasła w ten sposób nie jest zalecane.
Zamiast tego powinieneś użyć passwd <username>. Powinno to (as usermod) być wykonane jako root (jeśli nie zmieniasz hasła aktualnie zalogowanego użytkownika).
Aby zmienić hasło użytkownika foo.
sudo passwd foo
Spowoduje to monit o nowe hasło.
Zajrzyj na stronę podręcznika, aby passwduzyskać więcej informacji na temat ustawiania np. Upływu czasu.
przekonasz się, że DOWOLNE hasło zaczynające się od „borkling” będzie działać, np
borkling88 borklingjars
chociaż „borkline” nie będzie działać, ponieważ jak wspomniano wcześniej, każde hasło, które ma „borkling” jako prefiks, będzie również działać, gdy hasło zostanie ustawione w ten sposób.
Sposób na to, aby afaik nie miał tego niepożądanego efektu ubocznego, jest następujący:
Odpowiedzi:
usermod -p
Flag spodziewa dane być już hasło w postaci zaszyfrowanej.Użyj,
openssl passwd
aby wygenerować zaszyfrowane dane, lub wykonaj następujące czynności:źródło
openssl passwd
oczekuje hasła od 0 do 10 znaków.Powodem, dla którego nie działało, jest to, że
usermod
opcja -p oczekuje, że hasło zostanie już zaszyfrowane.Ze
usermod
strony podręcznika użytkownika:Ustawienie hasła w ten sposób nie jest zalecane.
Zamiast tego powinieneś użyć
passwd <username>
. Powinno to (asusermod
) być wykonane jako root (jeśli nie zmieniasz hasła aktualnie zalogowanego użytkownika).Aby zmienić hasło użytkownika foo.
Spowoduje to monit o nowe hasło.
Zajrzyj na stronę podręcznika, aby
passwd
uzyskać więcej informacji na temat ustawiania np. Upływu czasu.Powodzenia!
źródło
Możesz użyć
passwd
:Nie musisz,
sudo
jeśli sam jesteś superużytkownikiemźródło
sudo
wymagają hasła roota :)superuser
reprezentuje?Sposobem przypisania hasła za pomocą usermod (o co tak naprawdę poprosił OP) jest użycie
crypt()
zaszyfrowanego hasła dla-p
argumentu.Następnie użyj tego w
usermod -p
argumencie wiersza poleceń:źródło
Nieinteraktywna jednowierszowa komenda do zmiany hasła użytkownika:
usermod -p
wymaga do działania szyfrowanego hasła. Pamiętaj, żenew-password
będą widoczne dla użytkowników, którzy mogą wymienić procesy.źródło
Coś, co należy tutaj dodać, to: Ta metoda:
sudo usermod -p
perl -e "print crypt("new-password","Q4")"
Johnoznacza, że zadziała wiele bardzo podobnych haseł. Na przykład na serwerze Oracle Linux 7.4 i komputerze Ubuntu 17.10 rozważ:
sudo usermod -p
perl -e "print crypt("borkling","Q4")"
orabuntuTeraz, jeśli:
su - orabuntu
przekonasz się, że DOWOLNE hasło zaczynające się od „borkling” będzie działać, np
borkling88 borklingjars
chociaż „borkline” nie będzie działać, ponieważ jak wspomniano wcześniej, każde hasło, które ma „borkling” jako prefiks, będzie również działać, gdy hasło zostanie ustawione w ten sposób.
Sposób na to, aby afaik nie miał tego niepożądanego efektu ubocznego, jest następujący:
(podziękowania dla „Sandeep” tutaj:
/programming/2150882/how-to-automatically-add-user-account-and-password-with-a-bash-script )
W systemach Linux RedHaty: (pomiń koło „-G”, jeśli nie chcesz, aby przyznano uprawnienia sudo)
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G wheel $ {NAZWA UŻYTKOWNIKA}
W systemach Linux Debiany (pomiń opcję -G sudo, jeśli nie chcesz uprawnień sudo):
sudo useradd -m -p $ (openssl passwd -1 $ {PASSWORD}) -s / bin / bash -G sudo $ {NAZWA UŻYTKOWNIKA}
źródło
Po prostu wpisz
W ten sposób normalny użytkownik może zmienić własne hasło bez uprawnień roota, jeśli go nie masz.
źródło