Я натрапив на цю проблему, намагаючись створити нових користувачів FTP для vsftpd. Створюючи нового користувача із наступною командою та намагаючись увійти з FileZilla, я отримав би помилку "неправильний пароль".
useradd f -p pass -d /home/f -s /bin/false
Після цього / etc / shadow містить
f:pass:1111:0:99:2:::
Як тільки я запускаю таку команду і надаю той самий пропуск
passwd f
/ і т.д. / тінь містить
f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2:::
Видається, що шифрування відбувається, коли я запускаю passwd , але не використовується useradd
Важливо, що після цього я можу увійти до FTP з точно такими ж даними.
Я використовую CentOS 5.11, vsftpd для FTP і FileZilla для доступу до FTP
/ var / log / secure містить:
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
Чому це не працює, коли я -p pass
переходжу на useradd? Що мені потрібно зробити, щоб він працював?
$1$
вказується MD5 . MD5, хоча не прямо жахливий для паролів, сьогодні досить слабкий. Це зовсім окреме питання, але я б абсолютно закликав вас розглянути можливість переходу до більш сильної хеш-функції.
/etc/shadow
не шифруються, а є
/var/log/secure