我已经设置了VSFTPD,所以当用户连接时,它将对连接的用户使用user_config_dir搜索,并设置chroot客户会话(因为服务器上有多个属于多个用户的FTP帐户)。这对没有特殊字符的用户名很好。为了避免用户名上的冲突,我使用后缀“@domain.tld”设置每个用户名-但是,当用户的名称中有@符号时,user_config_dir中的自定义规则不会加载。在VSFTPD中是否有解决这一问题的方法?还是需要切换的设置?
vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
chroot_local_users=YES
pam_service_name=scftp
user_config_dir=/etc/vsftpd/virtualpam.d/scftp
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login玻璃体/不含特别化碳的
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
local_root=/home/marco
chroot_local_user=YES
dirlist_enable=YES
download_enable=YES
guest_username=marco虚拟/user@domain.tld
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
local_root=/home/marco
chroot_local_user=YES
dirlist_enable=YES
download_enable=YES
guest_username=marco实际上,它似乎无法将FTP用户的user@domain.tld与适当的虚拟文件相匹配--而usernamewithoutspecialchars工作得很好。
发布于 2011-04-20 16:32:25
Linux文件系统可以很高兴地以目录的名义管理@,所以您最可能看到的问题是vsftpd。你试过用user.domain.tld代替user@domain.tld吗?
发布于 2011-04-21 06:26:12
您应该尝试使用SQL或RADIUS后端进行auth登录,用户名应该作为电子邮件存储在sql中。很管用,我已经测试过了。
https://serverfault.com/questions/261774
复制相似问题