多种用户认证方式配置
第一种:通过系统用户访问
VsFtp在默认情况下允许系统账户(/etc/passwd)使用,使用系统账户登录存在很大的安全问题。
下面两种方法可以一定程度上提高安全性:
1:如只想让用户登录FTP用,而不需要登录到系统,可以在建立用户的同时指定登录Shell为/sbin/nologin
2:通过配置文件,Chroot所有的用户不可以离开自己宿主目录
Chroot_local_user=YES 所有用户登录FTP时不可以离开自己家目录
Chroot_list_enable=YES 指定不能离开自己家目录的用户,只有当Chroot_local_user=YES 时才生效
chroot_list_file 指定不能离开家目录的用户,可以将用户名一个一行写在该文件里
local_root 指定所有用户的根目录 比如chroot_root=/var/ftp/pub
此外,还可以通过设置各种权限保证系统安全,在此就不一一罗列
第二种:通过本地数据文件实现虚拟用户的访问,此种情况主要适用于用户比较少及变化不频繁的情况下适用
1:安装用于生成数据库的软件包db4-utils:
rpm -ivh db4-utils-4.3.28-9.fc6.i386.rpm
2:创建本地映射用户
useradd -d /home/ftpsite virtual
mkdir /home/ftpsite
chown virtual.virtual /home/ftpsite
ls -ld /home/ftpsite
drwxr-sr-x 2 virtual virtual 48 2006-08-18 05:48 /home/ftpsite
3:修改配置文件
anonymous_enable=NO
local_enable=YES
write_enable=NO
guest_enable=YES
guest_username=virtual
4:生成虚拟用户文件,用户密码各一行
tony ----->用户
tonypass ----->密码
etony
etonypass
5:生成虚拟用户数据文件
db_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db
6:修改PAM认证文件/etc/pam.d/vsftpd
auth required /lib/security/