Natknąłem się na ten problem, próbując utworzyć nowych użytkowników FTP dla vsftpd. Po utworzeniu nowego użytkownika za pomocą następującego polecenia i próbie zalogowania się za pomocą FileZilla, pojawia się błąd „niepoprawne hasło”.
useradd f -p pass -d /home/f -s /bin/false
Po wykonaniu tej czynności plik / etc / shadow zawiera
f:pass:1111:0:99:2:::
Raz uruchomię następujące polecenie i podam to samo hasło
passwd f
/ etc / shadow zawiera
f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2:::
Wygląda na to, że szyfrowanie ma miejsce, gdy uruchamiam passwd , ale nie działa po dodaniu użytkownika
Co ważne, po zrobieniu tego jestem w stanie zalogować się na FTP z tymi samymi poświadczeniami.
Używam CentOS 5.11, vsftpd dla FTP i FileZilla dla FTP Access
/ var / log / secure zawiera:
Dec 17 useradd[644]: new group: name=f, GID=511
Dec 17 useradd[644]: new user: name=f, UID=511, GID=511, home=/home/f, shell=/bin/false
Dlaczego to nie działa, kiedy przechodzę -p pass
do useradd? Co muszę zrobić, aby działało?
/var/log/secure
$1$
wskazuje , że użyto MD5 . MD5, choć nie jest straszne dla haseł, jest obecnie słabą stroną. To całkowicie odrębne pytanie, ale absolutnie zachęcam do rozważenia migracji do silniejszej funkcji skrótu./etc/shadow
nie są szyfrowane, ale szyfrowaneOdpowiedzi:
To działa zgodnie z przeznaczeniem. Jeśli chcesz ustawić hasło za pomocą
useradd
polecenia, musisz podać hashowaną wersję hasłauseradd
.Łańcuch
pass
spełnia kryteria formatu pola hashowanego hasła w/etc/shadow
, ale rzeczywisty skrót hash do tego łańcucha. Powoduje to, że dla wszystkich celów i celów to konto będzie zachowywać się tak, jakby miało hasło, ale każde hasło, którego spróbujesz użyć, aby uzyskać do niego dostęp, zostanie odrzucone jako niepoprawne hasło.Zobacz
man useradd
lub dokumentację użytkownika :źródło
man
useradd :Powinieneś przekazać do niego zaszyfrowane hasło.
Nie hasło w postaci zwykłego tekstu.
źródło
useradd
oczekuje, że przekażesz mu skrót hasła, a nie samo hasło. Możesz użyć następującej odmiany polecenia, aby podać zaszyfrowane hasło douseradd
polecenia:Aby znaleźć dostępne metody, użyj:
Aby uniknąć podania hasła w wierszu poleceń, umieść hasło w pliku (za pomocą edytora i nieużywanego
echo
lub podobnego) i wykonaj następujące czynności:Spowoduje to przekazanie zaszyfrowanego hasła w wierszu polecenia, ale nie w postaci zwykłego tekstu.
mkpasswd
pochodzi zexpect
paczki.źródło
passwd
aby zmienić je na coś innego ......