![我无法使用虚拟用户登录 vsftpd](https://linux22.com/image/1104346/%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%20vsftpd.png)
- Ubuntu 10.04 32 位
- 从源安装的 vsftpd 2.3.4
# cat vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
connect_from_port_20=YES
nopriv_user=ftp
chroot_local_user=YES
secure_chroot_dir=/usr/share/empty
ls_recurse_enable=YES
listen_port=1031
log_ftp_protocol=YES
syslog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log
delete_failed_uploads=YES
user_config_dir=/etc/vsftpd/user_conf
anon_world_readable_only=NO
anon_other_write_enable=NO
no_anon_password=YES
force_dot_files=NO
guest_enable=YES
pam_service_name=vsftpd.virtual
virtual_use_local_privs=YES
# cat /etc/pam.d/vsftpd.virtual
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users.db
account required /lib/secutiry/pam_userdb.so db=/etc/vsftpd/virtual_users.db
我使用 db_load 通过以下命令创建一个简单的散列数据库:
db4.8_load -T -t hash -f logins /etc/vsftpd/virtual_users.db
好吧,我可以用我的系统用户登录,并进入 FTP 文件夹。但当我尝试以虚拟用户身份进入时,总是显示:530 Login incorrect.
我尝试过本教程使用htpasswd
和libpam-pwdfile
但它也不起作用。
我尝试查看日志文件,但什么都没显示。我用和搜索了几次,grep -i vsftpd /var/log/*
但grep -i pam /var/log/*
没有找到任何线索。
答案1
问题有几个:
libpam0g-dev
我编译vsftpd之前没有安装过。- pam 文件中没有放置 db 文件扩展名。
现在解决了。