安装vsftpd rpm包:
#mount /dev/cdrom /mnt
#cd /mnt/Server
#cp vsftpd-2.0.5-16.el5.i386.rpm /usr/ /usr
#rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
vsftpd的主配置文件为/etc/vsftpd/vsftpd.conf
ftp的共享目录在/var/ftp/pub
三个重要的文件在/etc/vsftpd: ftpusers vsftpd.conf chroot_list user_list
案例1
单ftp服务器的配置,配置目标:
① 支持匿名登陆
②只要ftp用户在操作系统中有读的权限,就可以下载该目录中的文件
① 匿名登陆到/etc/vsftpd/pub目录下,可以下载该目录的文件
② 可以上传文件到/var/ftp/pub/upload,但不能下载或删除该目录中的文件
③ 匿名登陆如果输入aaa@作为登陆密码,将被拒绝
实施:① vim /etc/vsftpd/vsftpd.conf
#anonymous_enalbe=YES
② #anon_world_readable_only=NO
③ #anon_root=/var/ftp/pub
④ # anon_upload_enable=YES
#chown_uploads=YES
#chown_username=root
#mkdir /var/ftp/pub/upload
#chown ftp /var/ftp/pub/upload
⑤#deny_email_enable=YES
#banned_eamail_file=/etc/vsftpd/banned_email
⑥#vim /etc/vsftpd/banned_email
#aaa@
案例2
虚拟主机的配置
① 添加虚拟网卡
ifconfig eth0:0 192.168.18.27 netmask 255.255.255.0 up
② 在原来的主配置文件vsftpd.conf中添加侦听的ip地址
#Listen_ipaddress=192.168.18.26
③ 为第二个ftp服务器建立目录和匿名用户对应的本地账号
#useradd –d /var/myftp –s/sbin/nologin myftp
④ 复制一份第一个ftp服务器主配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/myvsftpd.conf
⑤ 编辑/etc/vsftpd/myvsftpd.conf
#ftp_username=myftp
#Listen=YES
#Listen_ipaddress=192.168.18.27
启动sftpd服务 :service sftpd restart
案例3
虚拟用户设置
①建立用户列表(其实就是一个文本文件写入用户名和密码,以便下一步中db4可以使用其生成db数据库)

//暂且就写两个用户来测试吧
②生成虚拟账户数据库
确保DB库的工具包已安装

//如果没安装这三个包的话就需要自己手动安装了
③在目录/etc/vsftpd下生成虚拟账号的数据库文件ftpuser.db,权限设为600

④建立login文件,使pam能够进行验证

//auth 是验证用户的用户名和密码;account是验证用户是否过期等信息
⑤建立ftp虚拟账号使用的系统账号并设置账号的目录权限 
⑥在主配置文件中添加虚拟用户的配置信息

配置后的vsftpd.conf文件:
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=ftp_virt
pam_service_name=vsftpd_login
anon_world_readable_only=NO
anon_upload_enable=YES
chown_uploads=YES
chown_username=root
write_enable=YES
local_umask=022
dirmessage_enable=YES
anon_mkdir_write_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
tcp_wrappers=YES
|
⑦虚拟用户权限的设置
在主文件中指定用户配置文件放置的目录/etc/vsftpd
#user_config_dir=/etc/vsftpd
为虚拟用户建立独自的目录
#mkdir /var/ftp/dir1
#mkdir /var/ftp/dir2
使系统用户ftp_virt对dir1和dir2有所有者的权利
#chown ftp_virt /var/ftp/dir1
#chown ftp_virt /var/ftp/dir2
在/etc/vsftpd目录建立虚拟用户的配置文件,且配置文件名对应每个用户名字
#vim /etc/vsftpd/user1
local_root=/var/ftp/dir1 //默认只读的权限
#vim /etc/vsftpd/user2
local_root=/var/ftp/dir2
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
write_enable=YES //具有上传删除修改的权限
测试:
用user2登陆ftp服务器

在user2的目录下建立一个文件夹
![clip_image002[4] clip_image002[4]](http://baiying.blog.51cto.com/attachment/201012/11/1068039_1292086466bL3l.jpg)
用user1登陆ftp服务器并建立文件夹
![clip_image004[4] clip_image004[4]](http://baiying.blog.51cto.com/attachment/201012/11/1068039_12920864954kIm.jpg)
注:因为user1只有只读的权限所以被拒绝创建文件夹。