安装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的目录下建立一个文件夹
用user1登陆ftp服务器并建立文件夹
注:因为user1只有只读的权限所以被拒绝创建文件夹。