vsftpd的搭建及使用

vsftpd介绍

vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

在开源操作系统中常用的FTPD套件主要还有ProFTPD、PureFTPd和wuftpd等

特点

vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;

任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;

所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;

此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

匿名vsftpd的配置

 1 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 2 
 3 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 4 
 5 yum makecache
 6 
 7 yum -y install vsftpd
 8 
 9 默认vsftpd安装好了,默认配置就是匿名用户,不需要我们配置什么
10 
11 mkdir /var/ftp/yh
12 
13 mount /dev/cdrom /var/ftp/yh
14 
15 systemctl start vsftpd.service
16 
17 打开浏览器访问:ftp://ftp服务器的ip地址
18 
19 ftp://10.0.0.200/
20 
21 你会发现ftp已经可以提供服务了
View Code

配置文件详解

  1 anonymous_enable=YES|NO
  2 
  3 控制是否允许匿名用户登录,YES允许,NO不允许,默认值为YES。
  4 
  5 ftp_username= username
  6 
  7 匿名用户所使用的系统用户名。默认下,此参数在配置文件中不出现,值为ftp
  8 
  9 no_anon_password=YES|NO
 10 
 11 控制匿名用户登入时是否需要密码,YES不需要,NO需要。默认值为NO。
 12 
 13 anon_root=path
 14 
 15 设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。
 16 
 17 anon_world_readable_only=YES|NO
 18 
 19 控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES。
 20 
 21 anon_upload_enable=YES|NO
 22 
 23 控制是否允许匿名用户上传文件,YES允许,NO不允许,默认是不设值,即为NO。除了这个参数外,匿名用户要能上传文件,还需要两个条件:一,write_enable参数为YES;二,在文件系统上,FTP匿名用户对某个目录有写权限。
 24 
 25 anon_mkdir_write_enable=YES|NO
 26 
 27 控制是否允许匿名用户创建新目录,YES允许,NO不允许,默认是不设值,即为NO。当然在文件系统上,FTP匿名用户必需对新目录的上层目录拥有写权限。
 28 
 29 anon_other_write_enable=YES|NO
 30 
 31 控制匿名用户是否拥有除了上传和新建目录之外的其他权限,如删除、更名等。YES拥有,NO不拥有,默认值为NO。
 32 
 33 chown_uploads=YES|NO
 34 
 35 是否修改匿名用户所上传文件的所有权。YES,匿名用户所上传的文件的所有权将改为另外一个不同的用户所有,用户由chown_username参数指定。此选项默认值为NO。
 36 
 37 chown_username=whoever
 38 
 39 指定拥有匿名用户上传文件所有权的用户
 40 
 41 local_enable=YES|NO
 42 
 43 控制vsftpd所在的系统的用户是否可以登录vsftpd。默认值为YES。
 44 
 45 local_root=
 46 
 47 定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无。
 48 
 49 user_config_dir=
 50 
 51 定义用户个人配置文件所在的目录。用户的个人配置文件为该目录下的同名文件
 52 
 53 chroot_list_enable=YES|NO
 54 
 55 锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。
 56 
 57 chroot_list_file=/etc/vsftpd/chroot_list
 58 
 59 指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。通常该文件是/etc/vsftpd/chroot_list。此选项默认不设置。
 60 
 61 chroot_local_users=YES|NO
 62 
 63 将本地用户锁定在自家目录中。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。
 64 
 65 passwd_chroot_enable =YES|NO
 66 
 67 当此选项激活时,与chroot_local_user选项配合,chroot()容器的位置可以在每个用户的基础上指定。每个用户的容器来源于/etc/passwd中每个用户的自家目录字段。默认值为NO。
 68 
 69 listen_address=ip address
 70 
 71 定义了在主机的哪个IP地址上监听FTP请求
 72 
 73 listen_port=port_value  
 74 
 75 指定FTP服务器监听的端口号(控制端口),默认值为21。此选项在standalone模式下生效
 76 
 77 port_enable=YES|NO
 78 
 79 指定数据连接时模式,默认值为YES(PORT模式,NO为PASV模式)
 80 
 81 connect_from_port_20=YES|NO
 82 
 83 控制以PORT模式进行数据传输时是否使用20端口(ftp-data)
 84 
 85 ftp_data_port=port number
 86 
 87 设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。
 88 
 89 pasv_enable=YES|NO
 90 
 91 YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。
 92 
 93 pasv_min_port=port number
 94 
 95 pasv_max_port=port number
 96 
 97 设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表    示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高
 98 
 99 pasv_address= ip address
100 
101 此选项为一个数字IP地址,作为PASV命令的响应。默认值为none,即地址是从呼入的连接套接字(incoming connectd socket)中获取。
102 
103 ascii_upload_enable=YES|NO
104 
105 控制是否允许使用ascii模式上传文件,YES允许,NO不允许,默认为NO
106 
107 ascii_download_enable=YES|NO
108 
109 控制是否允许使用ascii模式下载文件,YES允许,NO不允许,默认为NO。
110 
111 idle_session_timeout= numerical value
112 
113 空闲用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。
114 
115 data_connection_timeout= numerical value
116 
117 空闲的数据连接的超时时间。默认值为300 秒。
118 
119 accept_timeout=numerical value
120 
121 接受建立联机的超时设定,单位为秒。默认值为60。
122 
123 connect_timeout=numerical value
124 
125 响应PORT方式的数据联机的超时设定,单位为秒。默认值为60
126 
127 max_clients=numerical value
128 
129 此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了FTP服务器最大的并发连接数,当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。
130 
131 max_per_ip=numerical value
132 
133 此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将影响到象网际快车这类的多进程下载软件。默认值为0,表示不限制。
134 
135 anon_max_rate=value
136 
137 设定匿名用户的最大数据传输速度value,以Bytes/s为单位。默认无。
138 
139 local_max_rate=value
140 
141 设定用户的最大数据传输速度value,以Bytes/s为单位。默认无。
142 
143 write_enable=YES
144 
145 设定允许进行写操作(上传、删除),默认为YES,可选值【yes,no】
146 
147 local_umask=022
148 
149 设定权限掩码,默认022,对应的文件上传权限644、目录权限755
150 
151 dirmessage_enable=YES
152 
153 设定开启目录标语功能
154 
155 xferlog_enable=YES
156 
157 设定开启日志记录功能
158 
159 xferlog_file=/var/log/ftp/vsftpd.log
160 
161 设置日志目录
162 
163 xferlog_std_format=YES
164 
165 设定日志使用标准的记录格式
166 
167 nopriv_user=vsftpd
168 
169 设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。
170 
171 async_abor_enable=YES
172 
173 设定支持异步传输功能。
174 
175 ftpd_banner=This Vsftp server supports virtual users ^_^
176 
177 设定Vsftpd的登陆标语。
178 
179 deny_email_enable=YES
180 
181 可将某些特殊的 email address 抵挡住。如果以anonymous 登录服务器时,会要求输入密码,也就是您的email address, 如果很讨厌某些email address ,就可以使用此设定来取消他的登录权限,但必须与下面的设置项配合
182 
183 banned_email_file=/etc/vsftpd/banned_emails
184 
185 当上面的 deny_email_enable=YES 时,可以利用这个设定项来规定那个email address 不可登录vsftpd 服务器,此文件需用户自己创建,一行一个email address 即可!
186 
187 ls_recurse_enable=YES
188 
189 是否允许递归查询 , 大型站点的 FTP 服务器启用此项可以方便远程用户查询
190 
191 chroot_local_user=YES
192 
193 listen=YES
194 
195 如果设置为 YES , 则 vsftpd 将以独立模式运行,由vsftpd 自己监听和处理连接请求
196 
197 
198 listen_ipv6=YES
199 
200 设定是否支持IPV6
201 
202 pam_service_name=vsftpd
203 
204 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即/etc/pam.d/vsftpd 文件,此文件中file=/etc/vsftpd/ftpusers 字段,说明了PAM 模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers 中
205 
206  
207 
208 userlist_enable=YES/NO
209 
210 此选项默认值为NO , 此时ftpusers 文件中的用户禁止登录FTP 服务器;若此项设为YES ,则 user_list 文件中的用户允许登录 FTP 服务器,而如果同时设置了 userlist_deny=YES ,则 user_list 文件中的用户将不允许登录FTP 服务器,甚至连输入密码提示信息都没有,直接被FTP 服务器拒绝
211 
212 userlist_deny=YES/NO
213 
214 此项默认为YES ,设置是否阻扯user_list 文件中的用户登录FTP 服务器
215 
216 tcp_wrappers=YES
217 
218 表明服务器使用 tcp_wrappers 作为主机访问控制方式,tcp_wrappers 可以实现linux 系统中网络服务的基于主机地址的访问控制,在/etc 目录中的hosts.allow 和hosts.deny 两个文件用于设置tcp_wrappers 的访问控制,前者设置允许访问记录,后者设置拒绝访问记录。例如想限制某些主机对FTP 服务器192.168.57.2 的匿名访问,编缉/etc/hosts.allow 文件,如在下面增加两行命令:vsftpd:192.168.57.1:DENY 和vsftpd:192.168.57.9:DENY 表明限制IP 为192.168.57.1/192.168.57.9 主机访问IP 为192.168.57.2 的FTP 服务器,此时FTP 服务器虽可以PING 通,但无法连接
View Code

关于userlist_enable、userlist_deny的设置,ftpusers和user_list文件的区别

ftpusers:禁止user_list列表中的用户访问FTP
userlist_enable=YES,userlist_deny=YES,禁止user_list列表中的用户访FTP
userlist_enable=YES,userlist_deny=NO,只允许user_list列表中的用户FTP。
userlist_enable=NO,userlist_deny=YES,因设定userlist_enable=NO,忽略user_list文件,user_list不启作用
userlist_enable=NO,userlist_deny=NO,因设定userlist_enable=NO,忽略user_list文件,user_list不启作用
ftpusers禁止的优先级更高。假设ftpusers禁止woodie用户访问,userlist允许woodie用户访问,则在运行时,用户woodie不能访问ftp。

本地用户vsftpd的配置

本地用户必须是系统上存在的用户,然后引用到vsftpd里面

备份主配置文件防止改错

cd /etc/vsftpd/

cp vsftpd.conf vsftpd.conf.bak

修改配置文件

去掉注释%g /^#/d

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

#xferlog_enable=YES

connect_from_port_20=YES

#xferlog_std_format=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES
View Code

添加本地用户

 1 useradd u01
 2 
 3 echo 123456 |passwd --stdin u01
 4 
 5 vim /etc/vsftpd/chroot_list
 6 
 7 u01
 8 
 9 测试
10 
11 打开cmd通过ftp进行连接
12 
13 ftp 10.0.0.200
14 
15 连接到 10.0.0.200。
16 
17 220 (vsFTPd 3.0.2)
18 
19 200 Always in UTF8 mode.
20 
21 用户(10.0.0.200:(none)): u01
22 
23 331 Please specify the password.
24 
25 密码:
26 
27 230 Login successful.
28 
29 ftp>
30 
31 当输入完用户和密码后出现Login successful表示ftp登陆成功了,说明我们的陪已经成功
View Code

虚拟用户vsftpd的配置

修改vsftpd相关的账户

vsftpd服务的宿主用户(这个账户可以不用创建)

$ useradd vsftpd -s /sbin/nologin

默认的VSftpd的服务宿主用户是root,但是这不符合安全性的需要。这里建立名字为vsftpd的用户,用他来作为支持VSftpd的服务宿主用户。由于该用户仅用来支持VSftpd服务用,因此没有许可他登陆系统的必要,并设定他为不能登陆系统的用户。

vsftpd的虚拟宿主用户

$ useradd yang -d /home/ftpdata -s /sbin/nologin

$ chown -R yang.yang /home/ftpdata

VSftpd的虚拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存在的。他们的总体权限其实是集中寄托在一个在系统中的某一个用户身上的,所谓VSftpd的虚拟宿主用户,就是这样一个支持着所有虚拟用户的宿主用户。由于他支撑了FTP的所有虚拟的用户,那么他本身的权限将会影响着这些虚拟的用户,因此出于安全性的考虑,也要非常注意对该用户的权限的控制,该用户也绝对没有登陆系统的必要,这里也设定他为不能登陆系统的用户。

修改配置文件

 1 %g /^d/d 删除注释行
 2 
 3 anonymous_enable=NO
 4 
 5 local_enable=YES
 6 
 7 write_enable=YES
 8 
 9 local_umask=022
10 
11 dirmessage_enable=YES
12 
13 xferlog_enable=YES
14 
15 connect_from_port_20=YES
16 
17 xferlog_std_format=YES
18 
19 listen=YES
20 
21 pam_service_name=vsftpd
22 
23 userlist_enable=YES
24 
25 tcp_wrappers=YES
26 
27 chroot_local_user=YES
28 
29 guest_enable=YES
30 
31 guest_username=yang
32 
33 virtual_use_local_privs=YES
34 
35 user_config_dir=/etc/vsftpd/vuser_conf
View Code

生成vsftpd虚拟用户数据库文件

vim /etc/vsftpd/vuser_passwd.txt

test

12345678

格式很简单:”一行用户名,一行密码!”。

生成虚拟用户数据文件

db_load命令可以将用户文本信息文件转换为db数据库并使用hash加密。

选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。

指定了选项-T,那么一定要追加子选项-t ; 子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。hash就是使用hash码加密。

-f参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码;

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

chmod 600 vuser_passwd.*

很多人找不到db_load的问题就是没有安装这个包

yum install db4 db4-utils

 

特别注意

如果要删除掉一个虚拟用户,先在vuser_passwd.txt中删除用户对应的用户名和密码,然后删除vuser_passwd.db,重新运行db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

如果更改密码,更改文件内容后还需重新运行db_load就可以,并重启ftp服务使其生效。

如果要改变用户的其它配置,只需修改用户的配置文件。

配置PAM验证文件

 1 vim /etc/pam.d/vsftpd
 2 
 3 将以下内容加入到文件最前面(在后面加入无效)
 4 
 5 32位系统
 6 
 7 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
 8 
 9 account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
10 
11 64位系统
12 
13 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
14 
15 account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
16 
17 上一步建立的数据库vuser_passwd在此处被使用,建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd/vsftpd.conf文件中的语句pam_service_name=vsftpd来启用的。
View Code

vsftpd虚拟用户的独立配置

 1 mkdir -p /etc/vsftpd/vuser_conf
 2 
 3 vim /etc/vsftpd/vuser_conf/test
 4 
 5 anon_world_readable_only=NO
 6 
 7 write_enable=YES
 8 
 9 anon_upload_enable=YES
10 
11 anon_mkdir_write_enable=YES
12 
13 anon_other_write_enable=YES
14 
15 local_root=/home/ftpdata/
16 
17 测试
18 
19 ftp 10.0.0.200
20 
21 连接到 10.0.0.200。
22 
23 220 (vsFTPd 3.0.2)
24 
25 200 Always in UTF8 mode.
26 
27 用户(10.0.0.200:(none)): tom
28 
29 331 Please specify the password.
30 
31 密码:
32 
33 230 Login successful.
34 
35 ftp>
View Code

报错总结

错误一 :500 OOPS: vsftpd: refusing to run with writable root inside chroot()

从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

allow_writeable_chroot=YES

 

错误二:530 Login incorrect

解决问题方法,查看vsftpd文件是否在/etc/pam.d/vsftp这个地方,后者里面书写是否不对

 

错误三:500 OOPS:bad bool value in config file for:anon_world_readable_only

google了一把发现有人说是配置文件的末尾不能有空格,打开自己的配置文件一看,不止anon_world_readable_only这一行末尾,整个文件的末尾都有几个空格。唉,复制粘贴网页上的配置要谨慎啊

vsftpd服务器之间的站点对传

 1 有时候可能需要开启vsftpd服务器之间的站点对传功能,只需在主配置文件 /etc/vsftpd/vsftpd.conf 里加入如下参数即可:
 2 
 3 pasv_promiscuous=YES
 4 port_promiscuous=YES
 5 
 6 说明:
 7 port_promiscuous=YES|NO
 8 默认值为NO。为YES时,取消PORT安全检查。该检查确保外出的数据只能连接到客户端上。小心打开此选项。
 9 
10 pasv_promiscuous=YES|NO
11 默认值为NO。为YES时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。
12 由于取消了数据包的安全检查,允许数据流向非客户端,所以站点对传成功。
13 
14 配置修改完成后,重启vsftpd服务生效:
15 
16 /etc/init.d/vsftpd restart
View Code

配置VSftpd服务器的日志功能

 1 VSftpd与log有关的选项
 2 
 3 vsftpd_log_file
 4 
 5 xferlog_enable
 6 
 7 xferlog_std_format
 8 
 9 xferlog_file
10 
11 dual_log_enable
12 
13 syslog_enable
14 
15 log_ftp_protocol
16 
17 no_log_lock
18 
19 这里主要要到下面几个参数控制
20 
21 log_ftp_protocol
22 如果启用, 假若选项xferlog_std_format没有启用, 所有的FTP请求和应答都会被记录。 此选项将对调试很有用。
23 默认: YES
24 
25 dual_log_enable
26 如果启用, 将生成两个相似的日志文件, 默认在/var/log/xferlog和/var/log/vsftpd.log目录下。 前者是wu-ftpd类型的传输日志, 可以用于标准工具分析。 后者是vsftpd自己类型的日志。
27 
28 xferlog_enable
29 如果启用, 将会维护一个日志文件, 用于详细记录上载和下载. 默认情况下, 这个日志文件是/var/log/vsftpd.log。 但是也可以通过配置文件中的vsftpd_log_file选项来指定。
30 默认: NO(但是在示例设置中启用了这个选项)
31 
32 xferlog_std_format
33 如果启用, 传输日志文件将以标准xferlog的格式书写, 如同wu-ftpd一样. 这可以用于重新使用传输统计生成器. 然而, 默认格式更注重可读性。 此格式的日志文件默认为/var/log/xferlog, 但是您也可以通过xferlog_file选项来设定。
34 默认: NO
35 
36 xferlog_file
37 xferlog 日志文件所在位置,默认为/var/log/xferlog。
38 
39 vsftpd_log_file
40 指定VSFTPd日志文件位置,默认为/var/log/vsftpd.log,xferlog_enable的默认值为no(VSFTPd提供的配置文件模版将其值改为了yes),dual_log_enable的默认值也为no,就是说默认情况下VSFTPd是不记录日志的。我们也可以将日志信息写入系统日志/var/log/messages中,使用如下参数:syslog_enable=yes/no
View Code

配置VSftpd传输日志

 1 将xferlog_file前面的#号对掉,也就是把VSftpd的Log功能打开,这样我们就能在/var/log目录下查看xferlog。这是VSftpd日志功能,这对于我们来说是极为重要的。
 2 
 3 ##################log settings###################
 4 
 5 # Activate logging of uploads/downloads.
 6 
 7 xferlog_enable=YES
 8 
 9 #
10 
11 # You may override where the log file goes if you like. The default is shown
12 
13 # below.
14 
15 xferlog_file=/var/log/xferlog
16 
17 #
18 
19 #log in two files /var/log/xferlog and /var/log/vsftpd.log
20 
21 dual_log_enable=YES
22 
23 vsftpd_log_file=/var/log/vsftpd.log
24 
25 #log time setting
26 
27 use_localtime=YES
28 
29 #
30 
31 ###################end of log####################
View Code

配置VSftpd限制同一个IP地址的同时连接数量

 1 通过/etc/hosts.allow定义允许的来源地址,/etc/hosts.deny定义拒绝的来源地址。
 2 
 3 配置示例
 4 
 5 /etc/hosts.allow
 6 
 7 #
 8 
 9 # hosts.allow This file describes the names of the hosts which are
10 
11 # allowed to use the local INET services, as decided
12 
13 # by the ‘/usr/sbin/tcpd’ server.
14 
15 #
16 
17 vsftpd: 123.103.47.0/255.255.255.0 218.240.63.0/255.255.255.0 59.46.172.0/255.255.255.0 10.0.0.0/255.0.0.0 60.2.80.0/255.255.255.0 218.249.230.0/255.255.255.0 160.10.0.0/255.255.0.0 218.246.69.0/255.255.255.0 125.35.3.0/255.255.255.0 : allow
18 
19 /etc/hosts.deny
20 
21 #
22 
23 # hosts.deny This file describes the names of the hosts which are
24 
25 # *not* allowed to use the local INET services, as decided
26 
27 # by the ‘/usr/sbin/tcpd’ server.
28 
29 #
30 
31 # The portmap line is redundant, but it is left to remind you that
32 
33 # the new secure portmap uses hosts.deny and hosts.allow. In particular
34 
35 # you should know that NFS uses portmap!
36 
37 vsftpd : ALL : DENY
38 
39 将tcp_wrappers=yes添加至/etc/vsftpd/vsftpd.conf中
40 
41 $ vi /etc/vsftpd/vsftpd.conf
42 
43 tcp_wrappers=YES
44 
45 重新启动VSftpd
46 
47 $ service vsftpd restart
48 
49 Shutting down vsftpd: OK ]
50 
51 Starting vsftpd for vsftpd: OK ]
View Code

猜你喜欢

转载自www.cnblogs.com/HByang/p/9099184.html