VSFTPD配置文档
 
 
实验目的:
了解FTP服务的基本概念
掌握vsftpd服务器的配置和管理
掌握使用ftp命令对FTP服务器进行测试
 
 
实验环境:
2台机器,一台是FTP服务器,IP192.168.10.1/24,另外一台是FTP客户机,IP192.168.10.2/24(可以是LINUX也可以是WINDOWS)。
 
实验要求:
每个用户的下载速度为10K,最大连接数为2且每个ip最多允许3个线程,匿名用户下载速度为5K,每个ip只能2个线程
匿名用户能上传、查看文件内容,但是不能删除
每个用户都有自己的主目录,普通用户(test,test1)不能切换用户主目录,vip(vip)用户可以更换目录
限制test用户不能登陆ftp站点
 
实验步骤:
安装vsftpd
[root@localhost root]# rpm -ivh /mnt/RedHat/RPMS/vsftpd-1.1.3-8.i386.rpm
 
匿名用户能上传、查看文件内容,但是不能删除
[root@localhost root]# chmod 777 /var/ftp/pub/
 
[root@localhost root]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
local_max_rate=10000   (byte/s)
anon_max_rate=5000    (byte/s)
max_per_ip=2
max_clients=2
 
每个用户都有自己的主目录,普通用户不能切换用户主目录,vip用户可以更换目录
[root@localhost root]# vi /etc/vsftpd/vsftpd.conf
chroot_local_user=yes     限制所有用户在其主目录
chroot_list_enable=YES    下面这个文件里面写的用户除外
chroot_list_file=/etc/vsftpd.chroot_list
 
[root@localhost root]# vi /etc/vsftpd.chroot_list
vip
 
限制test用户不能登陆ftp站点
/etc/vsftpd.ftpusers         
 
设置只能vip用户登录
vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=NO
 
vi /etc/vsftpd.user_list
加入vip
 
[root@localhost root]# service vsftpd restart
 
注意:
chroot_local_user=yes
所有用户都限制在自己的主目录里面
 
如果不希望所有用户都限制,修改主配置文件
chroot_local_user=no      默认也为no,不将所有用户限制在自己的主目录
chroot_list_enable=yes   锁定某些用户在自家目录中
chroot_list_file=/etc/vsftpd.chroot_list  如果起用了,就必须创建这个文件!
如果起用了这3,/etc/vsftpd.chroot_list文件中定义的用户受到限制,其他的用户都不受到限制!
 
 
虚拟用户:
[root@localhost root]# vi /etc/vsftpd/logins.txt
test
aptech
benet
pw1234
 
[root@localhost root]# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
 
[root@localhost root]# chmod 600 /etc/vsftpd/vsftpd_login.db
[root@localhost root]# vi  /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account required  /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
 
[root@localhost root]# useradd -d /home/ftpsite -s /sbin/nologin virtual
[root@localhost root]# chmod 700 /home/ftpsite/
 
[root@localhost root]# vi /etc/vsftpd/vsftpd.conf
添加:
guest_enable=YES
guest_username=virtual
修改:
pam_service_name=vsftpd.vu
 
user_config_dir=/etc/vsftpd_user_conf          #以支持用户个性化设置
 
[root@localhost root]# mkdir /etc/vsftpd_user_conf
[root@localhost root]# touch /etc/vsftpd_user_conf/test
[root@localhost root]# touch /etc/vsftpd_user_conf/benet
[root@localhost root]# vi /etc/vsftpd_user_conf/test    #我在这里只对test用户做,其他的自己去做
anon_world_readable_only=NO     
anon_upload_enable=YES                 #如果/etc/vsftpd/vsftpd.conf中有就不用设置了
anon_mkdir_write_enable=YES
anon_other_write_enable=YES       #如果/etc/vsftpd/vsftpd.conf中有就不用设置了
local_root=/home/ftpsite         #限制该用户在自己的主目录
 
[root@localhost root]# service vsftpd restart