|
vsftpd里面有3种用户,匿名用户,本地用户和虚拟用户,单独实现anonymous+loca_user和anonaymous+virtual_user都没有问题,相应的/etc/pam.d/vsftpd如下
virtual_user的密码和用户名数据库文件为/etc/vsftpd_login.db
anonymous+loca_user
- auth required pam_unix.so
- account required pam_unix.so
- session required pam_unix.so
复制代码
anonymous+virtual_user
- auth required pam_userdb.so db=/etc/vsftpd_login
- account required pam_userdb.so db=/etc/vsftpd_login
- session required pam_unix.so
复制代码
但如果在/etc/vsftpd/vsftpd.conf里面同时启用这3类用户,anonymous和virtual_user登录没有问题,但是local_user登录的时候就会被自动映射为用户ftp_virtual,就是vsftpd把本地用户当成虚拟用户处理了。
用户ftp_virtual为虚拟用户登录时所映射的本地用户名。
此时的/etc/pam.d/vsftpd如下
- auth sufficient pam_unix.so
- auth sufficient pam_userdb.so db=/etc/vsftpd_login
- account sufficient pam_unix.so
- account sufficient pam_userdb.so db=/etc/vsftpd_login
- session required pam_unix.so
复制代码
kevin给看看,是pam不支持两种验证方式同时使用,还是control flag的用法错误,谢谢! |
|