![Для виртуальных пользователей постоянно отображается сообщение «530 Login wrong»](https://rvso.com/image/1000388/%D0%94%D0%BB%D1%8F%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9%20%D0%BF%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%BD%D0%BE%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%C2%AB530%20Login%20wrong%C2%BB.png)
Следуя документации и тому, что есть в Интернете, я установил libpam-pwdfile
и вот мои конфигурации:
# /etc/vsftpd.conf
listen_ipv6=YES
listen_port=<port>
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=vsftpd
nopriv_user=vsftpd
hide_ids=YES
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/vsftpd/$USER
pam_service_name=vsftpd
utf8_filesystem=YES
и
# /etc/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so
и
$ useradd --home /home/vsftpd --gid <group> -m --shell /bin/false vsftpd
$ htpasswd -c -b /etc/vsftpd.passwd <virtual user> $(openssl passwd -1 -noverify <password>)
Однако когда я подключаюсь к FTP с помощью <virtual user>:<password>
, я постоянно получаю
USER <virtual user>
530 Login incorrect.
Так что же я упускаю?
Обновлять: Я могу нормально войти в систему, если vsftpd настроен на использование базы данных (с db_load
и pam_userdb.so
), но не файла паролей.
решение1
Я думаю, что вы упускаете -p
опцию при вызовеhtpasswd
это должно сработать:
htpasswd -c -p -b /etc/vsftpd.passwd <virtual user> $(openssl passwd -1 -noverify <password>)
см. здесь для справки:vsftpd не принимает пароли, зашифрованные с помощью MD5