安装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数据库)

clip_p_w_picpath002

//暂且就写两个用户来测试吧

②生成虚拟账户数据库

确保DB库的工具包已安装

clip_p_w_picpath004

//如果没安装这三个包的话就需要自己手动安装了

③在目录/etc/vsftpd下生成虚拟账号的数据库文件ftpuser.db,权限设为600

clip_p_w_picpath006

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

clip_p_w_picpath008

//auth 是验证用户的用户名和密码;account是验证用户是否过期等信息

⑤建立ftp虚拟账号使用的系统账号并设置账号的目录权限 clip_p_w_picpath010

⑥在主配置文件中添加虚拟用户的配置信息

clip_p_w_picpath012

配置后的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服务器

clip_p_w_picpath014

在user2的目录下建立一个文件夹

clip_p_w_picpath002[4]

用user1登陆ftp服务器并建立文件夹

clip_p_w_picpath004[4]

注:因为user1只有只读的权限所以被拒绝创建文件夹。