我无法使用虚拟用户登录 vsftpd

我无法使用虚拟用户登录 vsftpd
  • 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.

我尝试过本教程使用htpasswdlibpam-pwdfile但它也不起作用。

我尝试查看日志文件,但什么都没显示。我用和搜索了几次,grep -i vsftpd /var/log/*grep -i pam /var/log/*没有找到任何线索。

答案1


问题有几个:

  1. libpam0g-dev我编译vsftpd之前没有安装过。
  2. pam 文件中没有放置 db 文件扩展名。

现在解决了。

相关内容