实际案例分析:
利用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