一、基础

 
1.配置文件在/etc/vsftpd/vsftpd.conf
 
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
 
2.后台进程:vsftpd
 
3.使用21。20端口
  21用于控制,20用于数据传输
 
4.日志:
/var/log/vsftpd.log   xferlog
只记录传输数据信息
 
5.ftpcount   ftpwho工具,作用不大。
 
二、配置参数
 
1.是否允许匿名登陆
 
# Allow anonymous FTP?
anonymous_enable=no 
 
2.登陆超时控制
 
# You may change the default value for timing out an idle session.
idle_session_timeout=600
 
3.数据传输超时控制
 
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
 
4.定制欢迎信息
 
# You may fully customise the login banner string:
ftpd_banner=Welcome to youhongyu FTP service.
 
三、访问控制关键配置方法
 
1.修改vsftpd.conf中(****控制chroot****)
 
chroot_list_enable=YES
 
chroot_list_file=/etc/vsftpd.chroot_list(如果无,需要创建)
 
/etc/vsftpd.chroot_list中的用户是 不 能chroot的用户,即这些用户只能在自己的(/home)目录下
 
 
2.控制访问用户文件
 
/etc/vsftpd.ftpusers
 
所有在该文件内的用户都是不能访问ftp,但是和下面要介绍的不同的是 在访问时,不报530 Permission denied.而是报530 Login incorrect.
 
3.控制访问用户文件(注意需要vsftpd.conf配置来配合)
 
/etc/vsftpd.user_list
 
记住:要使这个文件起作用必须配置 userlist_enable=yes否则不起作用(默认是打开的)
 
那么当userlist_enable=yes时,userlist_deny=yes(需要手动加) 则 /etc/vsftpd.user_list中的用户不可以访问ftp
 
当userlist_enable=yes时,userlist_deny=no(需要手动加) 则 只有/etc/vsftpd.user_list中的用户可以访问ftp
 
2、和3如果涉及到同一个用户 以or的原则来应用,只要有一个文件有 就deny
 
四、提高
 
1.改变端口
 
需要在配置文件里加一句
listen_port=2121  客户机器 如果是windows需要指定端口为"
2121 "如果在linux下用ftp命令 需要修改/etc/services文件中的ftp端口号为2121
ftp             2121/tcp
ftp             2121/udp                fsp fspd
 
2.(使用hosts.allow限制)
 
若是读者希望直接在/etc/hosts.allow 之中定义允许或是拒绝的来源地址,可执行以下步骤。这是简易的防火墙设定。
 
Step1. 确定/etc/vsftpd/vsftpd.conf 之中tcp_wrappers 的设定为YES,tcp_wrappers=YES
 
这是RedHat9 的默认值,基本上不需修改。
 
 
 
Step2. 重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ] 
Step3. 设定/etc/hosts.allow,譬如提供111.22.33.4 以及10.1.1.1 到10.1.1.254 连线,则可做下图之设定: 
vsftpd : 111.22.33.4 10.1.1. : allow 
ALL : ALL : DENY 
/*****
自己实验情况,对域名做限制
 
hosts.allow
vsftpd:.cyy.net:allow
hosts.deny
vsftpd:ALL:deny
:报错为
Connected to cyy.net.
421 Service not available.
***/
 
3.(限速)  *****关注里面对不同用户的不同策略的写*********
 
限制传输档案的速度:本机的使用者最高速度为200KBytes/s,匿名登入 者所能使用的最高速度为50KBytes/s Step1. 修改/etc/vsftpd/vsftpd.conf 新增底下两行
 
anon_max_rate=50000 
local_max_rate=200000 
Step2. 重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ] 
 
在这边速度的单位为Bytes/s,其中anon_max_rate 所限制的是匿名登入的 使用者,而local_max_rate 所限制的是本机的使用者。VSFTPD对于速度的限制,范围大概在80%到120%之间,也就是我们限制最高速度为100KBytes/s,但实际的速度可能在80KBytes/s 到120KBytes/s 之间,当然,若是频宽不足时,数值会低于此限制。
 
3.2.8. 针对不同的使用者限制不同的速度:假设test1 所能使用的最高速度为250KBytes/s,test2 所能使用的最高速度为500KBytes/s。
_dir=/etc/vsftpd/userconf
Step2. 新增一个目录:/etc/vsftpd/userconf 
mkdir /etc/vsftpd/userconf
 
Step3. 在/etc/vsftpd/userconf 之下新增一个名为test1 的档案
 
内容增加一行: 
local_max_rate=250000
 
Step4. 在/etc/vsftpd/userconf 之下新增一个名为test2 的档案
 
内容增加一行: 
local_max_rate=500000
 
Step5. 重新启动vsftpd 
[root@home vsftpd]# /sbin/service vsftpd restart 
Shutting down vsftpd: OK ] 
Starting vsftpd for vsftpd: OK ]