⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vsftp配置详解 - linuxsky - 信息资讯 - 服务器应用 - ftp服务器.htm

📁 在Linux下使用GCC编制的FTP服务器
💻 HTM
📖 第 1 页 / 共 5 页
字号:
                              <BR>(2)如果ftpd_banner和banner_file同时设置,那么banner_file将覆盖ftpd_banner的设置。 
                              <BR><BR>4.配置基本的性能和安全选项 <BR>//设置空闲的用户会话的中断时间 
                              <BR>例如下面的配置: <BR><BR>idle_session_timeout=600 
                              <BR><BR>将在用户会话空闲10分钟后被中断。 
                              <BR><BR>//设置空闲的数据连接的的中断时间 <BR>例如下面的配置: 
                              <BR><BR>data_connection_timeout=120 
                              <BR><BR>将在数据连接空闲2分钟后被中断。 
                              <BR><BR>//设置客户端空闲时的自动中断和激活连接的时间 <BR>例如下面的配置: 
                              <BR><BR>accept_timeout=60 <BR>connect_timeout=60 
                              <BR><BR>将使客户端空闲1分钟后自动中断连接,并在中断1分钟后自动激活连接 
                              <BR><BR>//设置最大传输速率限制 <BR>例如下面的配置: 
                              <BR><BR>local_max_rate=50000 
                              <BR>anon_max_rate=30000 
                              <BR><BR>将使本地用户的最大传输速率为50kbytes / sec,匿名用户的 传输速率为30 
                              kbytes / sec。 <BR><BR>//设置客户端连接时的端口范围 <BR>例如下面的配置: 
                              <BR><BR>pasv_min_port=50000 
                              <BR>pasv_max_port=60000 
                              <BR><BR>将使客户端连接时的端口范围在50000和60000之间。这提高了系统的安全性。 
                              <BR><BR>//设置chroot <BR>在 
                              默认配置中,本地用户可以切换到自家目录以外的目录进行浏览,并在权限许可的范围内进行下载和上传。这样的设置对于一个FTP服务器来说是不安全的。如果希望用户登录后不能切换到自家目录以外的目录,则需要设置chroot选项,涉及如下选项: 
                              <BR><BR>chroot_local_user <BR>chroot_list_enable 
                              <BR>chroot_list_file <BR><BR>有两种设置chroot的方法: 
                              <BR>(1)设置对所有的本地用户执行chroot(即活动范围限制在自家目录)只要将chroot_local_user的值设 
                              为YES即可, 即: <BR><BR>chroot_local_user=YES 
                              <BR><BR>(2)设置指定的用户执行chroot需要如下的设置: 
                              <BR><BR>chroot_local_user=NO 
                              <BR>chroot_list_enable=YES <BR>chroot_list_file= 
                              /etc/vsftpd.chroot_list 
                              <BR><BR>这样,只有/etc/vsftpd.chroot_list文件中指定的用户才执行chroot。 
                              <BR>注意 :上面所提及的文件/etc/vsftpd.chroot_list和下面将要提及的文件 
                              /etc/vsftpd.user_list的格式要求均为每个 用户名占一行。 
                              <BR><BR>5.配置基于本地用户的访问控制 
                              <BR>要配置基于本地用户的访问控制,可以通过修改vsftpd的主配置文件/etc/vsftpd.conf来进行, 
                              有两种限制方法: <BR><BR>1)限制指定的本地用户不能访问,而其他本地用户可访问 
                              <BR>例如下面的设置: <BR><BR>userlist_enable= YES 
                              <BR>userlist_deny=YES <BR>userlist_file= 
                              /etc/vsftpd.user_list 
                              <BR><BR>使文件/etc/vsftpd.user_list中 
                              指定的本地用户不能访问FTP服务器,而其他本地用户可访问FTP服务器。 
                              <BR><BR>2)限制指定的本地用户可以访问,而其他本地用户不可访问 <BR>例如下面的设置: 
                              <BR><BR>userlist_enable= YES <BR>userlist_deny= NO 
                              <BR>userlist_file= /etc/vsftpd.user_list 
                              <BR><BR>使文件/etc/vsftpd.user_list中 
                              指定的本地用户可以访问FTP服务器,而其他本地用户不可以访问FTP服务器。 
                              <BR>注意:对于userlist_enable可以这样理解: 
                              <BR>如果userlist_enable=YES,表示vsftpd将从userlist_file选项给出的文件名中装载一个含有用户名的清单。然后再读取userlist_deny的值来确定vsftpd.user_list中的用户是否允许访问FTP服 
                              务器。如果用户不能访问,将在输入用户口令前被拒绝。 <BR><BR>6.配置基于主机的访问控制 
                              <BR>由于vsftpd有两种运行方式,即:由inetd启动和独立启动。 
                              这两种运行方式的主机访问控制配置是不同的,下面介绍的是由xinetd启动的vsftpd的主机访问控制的配置。显然,要配置这种主机访问控制,需要修改配置文件/etc/xinetd.d/vsftpd。 
                              <BR><BR>1)只允许指定的主机访问 
                              <BR>在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句: 
                              <BR><BR>only_from &lt;主机表&gt; <BR><BR>例如:only_from 
                              192.168.1.0 <BR>表示只允许192.168.1.0网段内的主机访问。 
                              <BR><BR>2)指定不能访问的主机 
                              <BR>在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句: 
                              <BR><BR>no_access &lt;主机表&gt; <BR><BR>例如:no_access 
                              192.168.1.0 <BR>表示只有192.168.1.0网段内的主机不能访问。 
                              <BR><BR>关于主机表的书写形式,见下表: <BR>访问控制表时主机表的书写语法 <BR>选项值 
                              含义 <BR>Hostname 可解析的主机名 <BR>IP Address 十进制表示的IP地址 
                              <BR>Net_name 在/etc/networks中定义的网络名 <BR>x.x.x.0 
                              x.x.0.0 x.0.0.0 0.0.0.0 
                              0作为通配符看待。如:191.72.61.0匹配从191.72.61.0到191.72.61.255的所有IP地址。0.0.0.0表示匹配所有的IP地址 
                              <BR>x.x.x.{a,b,.} x.x.{a,b,.} x.{a,b,.} 
                              指定主机表。如:191.72.61.{1,3,123}表示包含地址191.72.61.1、191.72.61.2和191.72.61.123 
                              <BR>IPAddress/netmask 
                              定义要匹配的网络或子网。如:172.19.16/20匹配从172.19.16.0到172.19.31.255 
                              <BR><BR><BR>3)配置每个客户机的最大连结数 
                              <BR>//在置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句: 
                              <BR><BR>per_source = 数值 <BR><BR>例如:per_source = 
                              5表示每个客户机的最大连接数为5。 <BR><BR>4)配置服务器总的并发连接数 
                              <BR>在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句: 
                              <BR><BR>instances = 数值 <BR><BR>例如:instances = 200 
                              表示FTP服务器总共支持的最高连接数为200。 <BR><BR>5)配置访问时间限制 
                              <BR><BR>在配置文件/etc/xinetd.d/vsftpd的{}中添加如下的配置语句: 
                              <BR><BR>access_time = hour:min-hour:min 
                              <BR><BR>例如:access_time = 18:00-23:59 
                              表示只有在下午6点到午夜0点之前才能访问此FTP服务器; <BR>又如:access_time = 
                              8:30-11:30 13:00-18:00 
                              表示只有在上午8点半到11点半和下午1点到下午6点才能访问此FTP服务器。 
                              <BR><BR>6)指定连接失败时显示的信息 
                              <BR>在配置文件/etc/xinetd.d/vsftpd的 {}中添加如下的配置语句: 
                              <BR><BR>banner_fail =文件名 <BR><BR>例如:banner_fail = 
                              /etc/vsftpd.busy_banner 
                              表示当连接失败时显示文件/etc/vsftpd.busy_banner中的内容。 
                              <BR>可以用下面的命令生成文件/etc/vsftpd.busy_banner: 
                              <BR><BR>echo "421 Server busy, please try 
                              later."&gt; /etc/vsftpd.busy_banner 
                              <BR><BR><BR>下面内容是基于xinetd的,因为debian用的是inetd,所以懒得修改了:( 
                              <BR><BR>四、使用vsftpd配置高安全级别的匿名服务器 
                              <BR>高安全级别匿名FTP服务器的配置要求: <BR><BR>仅仅允许匿名用户访问 
                              <BR>不允许本地用户访问 <BR>关闭所有写权限 <BR>不允许匿名用户上传 
                              <BR>设置客户端连接时的端口范围 <BR>设置匿名用户的最大传输速率限制 
                              <BR>设置空闲的数据连接的中断时间 <BR>设置客户端空闲时的自动中断和激活连接的时间 
                              <BR>配置每个主机的最大连接数 <BR>配置总的并发连接数 <BR>配置禁止访问的主机 
                              <BR>配置安全日志 <BR><BR>vsftpd推荐使用这种近乎于偏执的安全 
                              配置,如果用户只想架设匿名FTP下载服务器,出于安全性的考虑,请参考使用这种谨慎配置。 
                              <BR><BR>这种安全匿名服务器的配置,可以从vsftpd的源代码树中获得,具体操作步骤如下: 
                              <BR><BR>进入vsftp源代码树的EXAMPLE/INTERNET_SITE目录复制默认配置文件: 
                              <BR># cd 
                              /usr/local/src/vsftpd-1.1.3/EXAMPLE/INTERNET_SITE 
                              <BR># cp vsftpd.conf /etc <BR># cp vsftpd.xinetd 
                              /etc/xinetd.d/vsftpd 
                              <BR>//修改主配置文件/etc/vsftpd.conf,添加一 个连接后的信息 <BR># 
                              cat &gt;&gt;/etc/vsftpd.conf &lt; &gt; 
                              ftpd_banner=This FTP server is anonymous only. 
                              <BR>&gt; ! <BR>//显示主配置文件的内容如下: <BR># cat 
                              /etc/vsftpd.conf <BR># Access rights 
                              <BR>anonymous_enable=YES <BR>local_enable=NO 
                              <BR>write_enable=NO <BR>anon_upload_enable=NO 
                              <BR>anon_mkdir_write_enable=NO 
                              <BR>anon_other_write_enable=NO <BR># Security 
                              <BR>anon_world_readable_only=YES 
                              <BR>connect_from_port_20=YES <BR>hide_ids=YES 
                              <BR>pasv_min_port=50000 <BR>pasv_max_port=60000 
                              <BR># Features <BR>xferlog_enable=YES 
                              <BR>ls_recurse_enable=NO 
                              <BR>ascii_download_enable=NO 
                              <BR>async_abor_enable=YES <BR># Performance 
                              <BR>one_process_model=YES 
                              <BR>idle_session_timeout=120 
                              <BR>data_connection_timeout=300 
                              <BR>accept_timeout=60 <BR>connect_timeout=60 
                              <BR>anon_max_rate=50000 <BR>ftpd_banner=This FTP 
                              server is anonymous only. 
                              <BR><BR>//接下来查看/etc/xinetd.d/vsftpd <BR># cat 
                              /etc/xinetd.d/vsftpd <BR><BR>service ftp <BR>{ 
                              <BR>disable = no <BR>socket_type = stream <BR>wait 
                              = no <BR>user = root <BR>server = 
                              /usr/local/sbin/vsftpd <BR>per_source = 5 
                              <BR>instances = 200 <BR>no_access = 192.168.1.3 
                              <BR>banner_fail = /etc/vsftpd.busy_banner 
                              <BR>log_on_success += PID HOST DURATION 
                              <BR>log_on_failure += HOST <BR>} <BR>//重新启动xinetd 
                              <BR><BR># service xinetd restart <BR><BR>//配置结束 
                              <BR><BR><BR>五、配置基于IP的虚拟FTP服务器 
                              <BR><BR>vsftpd支持基于IP的虚拟FTP服务器配置。其主要配置步骤为: 
                              <BR><BR>配置虚拟IP地址 <BR>建立虚拟FTP的服务器目录并设置适当的权限 
                              <BR>建立虚拟FTP的服务器的xinetd配置文件 <BR>建立虚拟FTP的服务器的主配置文件 
                              <BR><BR>注意:虚拟FTP的服务器要有单独的xinetd配置文件和单独的主配置文件, 
                              这两个文件不能与原配置文件重名。 <BR><BR><BR><BR><BR><BR>具体操作过程如下: 
                              <BR><BR><BR><BR><BR><BR>1.查看本机现有的IP地址 
                              <BR><BR><BR># ifconfig |grep -1 eth0 
                              <BR><BR><BR>eth0 Link encap:Ethernet HWaddr 
                              00:50:56:C7:22:DF <BR><BR><BR>inet 
                              addr:192.168.1.222 Bcast:192.168.1.255 
                              Mask:255.255.255.0 
                              <BR><BR><BR>//可以看出本机的第一个网络接口eth0的IP为192.168.1.222 
                              <BR><BR><BR>2.配置一个虚拟网络接口eth0:1 <BR><BR><BR># 
                              ifconfig eth0:1 192.168.1.234 up <BR><BR><BR># 
                              ifconfig |grep -1 eth0:1 <BR><BR><BR>eth0:1 Link 
                              encap:Ethernet HWaddr 00:50:56:C7:22:DF 
                              <BR><BR><BR>inet addr:192.168.1.234 
                              Bcast:192.168.1.255 Mask:255.255.255.0 
                              <BR><BR><BR>//可以看出本机的虚拟网络接口eth0:1的IP为192.168.1.234 
                              <BR><BR><BR><BR><BR><BR>3.建立虚拟FTP的服务器目录 
                              <BR><BR><BR># mkdir -p /var/ftp2/pub 
                              <BR><BR><BR>//确保目录具有如下的权限 <BR><BR><BR># ll -d 
                              /var/ftp2 <BR><BR><BR>drwxr-xr-x 3 root root 4096 
                              3月12 03:00 /var/ftp2 <BR><BR><BR># ll -d 
                              /var/ftp2/pub <BR><BR><BR>drwxr-xr-x 2 root root 
                              4096 3月12 03:00 /var/ftp2/pub 
                              <BR><BR><BR><BR><BR><BR>4.创建此虚拟服务器的匿名用户所映射的本地用户ftp2 
                              <BR><BR><BR># useradd -d /var/ftp2 -M ftp2 
                              <BR><BR><BR><BR><BR><BR>5.更改现有的配置文件/etc/xinetd.d/vsftpd 
                              <BR><BR><BR># vi /etc/xinetd.d/vsftpd 
                              <BR><BR><BR>// 在此文件的{}中添加如下的配置语句: <BR><BR><BR>// 
                              bind = 192.168.1.222 <BR><BR><BR>// 
                              将原FTP服务绑定到eth0接口,之后保存退出vi 
                              <BR><BR><BR><BR><BR><BR>6.生成并修改新的虚拟FTP服务器的配置文件/etc/xinetd.d/vsftpd2 
                              <BR><BR><BR># cp /etc/xinetd.d/vsftpd 
                              /etc/xinetd.d/vsftpd2 
                              <BR><BR><BR>//更改新的配置文件/etc/xinetd.d/vsftpd2 
                              <BR><BR><BR># vi /etc/xinetd.d/vsftpd2 
                              <BR><BR><BR>//在此文件的{}中添加如下的配置语句: <BR><BR><BR>bind 
                              = 192.168.1.234 <BR><BR><BR>//将虚拟FTP服务绑定到eth0:1接口 
                              <BR><BR><BR>//另外添加如下的配置语句: <BR><BR><BR>server_args 
                              = /etc/vsftpd_site2.conf 
                              <BR><BR><BR>//使vsftpd读取虚拟FTP服务器的主配置文件,之后保存退出vi 
                              <BR><BR><BR><BR><BR><BR>7.生成并修改虚拟FTP服务器的主配置文件/etc/vsftpd_site2.conf 
                              <BR><BR><BR># cp /etc/vsftpd.conf 
                              /etc/vsftpd_site2.conf <BR><BR><BR>//修改新的主配置文件 
                              <BR><BR><BR># vi /etc/vsftpd_site2.conf 
                              <BR><BR><BR>//将如下的配置语句行: 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -