在上一个关于ftp服务器的架设中我们已经详细的说明了每一个选项的作用,同时也用案例来展示了。这次我想说的是:怎样在ftp中创建虚拟账号,来保证服务器的安全呢,下面我们来探讨一下:
 实际案例分析:
利用VSFTPD配置一台支持虚拟用户登录的FTP服务器,具体要求如下:
 支持本地用户和虚拟用户登录,不允许匿名用户登录
 允许本地用户任意写入
 锁定本地用户的用户主目录
 建立虚拟用户vftp1,vftp2都对应本地用户guest,且虚拟用户在用户主目录中可        以写入,但不能删除
 设置客户端连接时的端口为5000-6000
 最大空闲会话时间长度为600秒
 设置空闲数据连接的中断时间为200秒
 设置客户端空闲时的自动中断时间为100秒和激活连接的时间为30秒
 本地用户的最大传输速率为2MB/s
 使用独占启动方式,侦听192.168.5.1接口的21号端口
 设置服务器的并发连接总数为200
 每个客户机的并发连接总量为5
 允许192.168.5.0/24网段内的主机访问
配置过程:
1. 安装相关软件
#rpm  -ivh  vsftpd-1.1.3-8.i386.rpm
2. 修改/etc/vsftpd/vsftpd.conf文件
#vi  /etc/vsftpd/vsftpd.conf
修改内容如下:
anonymous_enable=no
local_enable=yes
guest_enable=yes
guest_username=guest
write_enable=yes
chroot_local_user=yes
pam_service_name=ftp
idle_session_timeout=600
data_connection_timeout=200
accept_timeout=100
connect_timeout=30
local_max_rate=20000
pasv_min_port=5000
pasv_max_port=6000
listen=yes
listen_address=192.168.5.1
listen_port=21
3. 建立相关用户
#useradd  guest
#passwd guest
#chmod  1777    /home/guest
//建立虚拟用户所对应的本地用户
#vi  /etc/vsftpd/vlogin.txt    //建立虚拟用户文件
添加如下内容:
vftp1               (用户名)
ftp1passwd         (密  码)
vftp2
ftp2passwd
#db_load  -T  -t  hash  -f  /etc/vsftpd/vlogin.txt  /etc/vsftpd/vlogin.db
//生成口令库文件,运行db_load之前先安装db4-utils的RPM包
#chmod  600   /etc/vsftpd/vlogin.db
//修改口令库文件的权限
4. 设置PAM验证
#cp  /etc/pam.d/vsftpd  /etc/pam.d/ftp
#vi   /etc/pam.d/ftp
添加如下内容:
auth   required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vlogin
account  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vlogin
5. 设置主机访问控制
#vi   /etc/hosts.allow
添加如下内容:
vsftpd:192.168.5.0/24:ALLOW
6. 启动服务
#service  vsftpd   start