Назад | Перейти на главную страницу

vsftpd Невозможно войти в ftp с использованием баз данных Berkeley DB (V4) и PAM (pam_userdb.so)

Я только недавно пробовал настроить vsftpd, следуя эта статья nixCraft о киберсити и их статья для настройки вирутальных пользователей.

Я могу подключиться, используя ftp localhost но он не распознает имя пользователя vivek как указано в журнале:

vsftpd: pam_unix(vsftpd:auth): check pass; user unknown 
vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=vivek
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user vivek

все должно было быть сделано так же, как и в руководствах, за исключением того, что я использовал /var/www/$USER а не то, что они указали.

Это почти похоже на то, что он не может найти базу данных для pam_userdb.so или не может ее правильно прочитать, чтобы найти пароль.

Вот мой /etc/vsftpd/vsftpd.conf файл:

anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=NO
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/$USER
hide_ids=YES
log_ftp_protocol=YES
banner_file=/etc/vsftpd/issue

Вот мой /etc/pam.d/vsftpd файл:

#%PAM-1.0
session    optional    pam_keyinit.so    force revoke
auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/f$
auth       required    pam_shells.so
auth       include     system-auth
account    include     system-auth
session    include     system-auth
session    required    pam_loginuid.so
auth       required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account    required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session    required    pam_loginuid.so

Кто-нибудь знает, что здесь происходит?

Есть ли способ получить дополнительную информацию, чтобы узнать, использует ли он правильный файл?

в /etc/pam.d/vsftpd файла, оказывается, у меня должны были быть только последние три строки (те, которые они предоставили в учебнике).

После того, как я изменил файл на этот:

#%PAM-1.0
auth       required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account    required    pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session    required    pam_loginuid.so

Он работал нормально. Однако я не использовал его достаточно долго, чтобы выяснить, не вызывает ли он ошибок где-то еще. Пожалуйста, дайте мне знать, если кто-нибудь увидит что-нибудь неправильное в этом изменении.