《第11章 FTP服务器配置ppt课件.ppt》由会员分享,可在线阅读,更多相关《第11章 FTP服务器配置ppt课件.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、在此输入您的封面副标题第11章 FTP服务器配置LinuxLinux操作系统与实训操作系统与实训( (第三版第三版)杨云杨云 编著编著中国铁道出版社中国铁道出版社国家精品课程国家精品课程/国家精品资源共享课程国家精品资源共享课程配套教材配套教材第11章 FTP服务器配置 项目描述:某学院组建了校园网,建设了学院网站,架设了Web服务器来为学院网站安家,但在网站上传和更新时,需要用到文件上传和下载,功能因此还要架设FTP服务器,为学院内部和互联网用户提供FTP等服务。本单元先实践配置与管理Apache服务器。 项目目标 :掌握FTP服务的工作原理 学会配置vsftpd服务器 掌握配置基于虚拟用户
2、的FTP服务器 实践典型的FTP服务器配置案例11.1 相关知识 11.4 项目实施 11.5 练习题 11.6 实践习题11.7 超级链接 第11章 FTP服务器配置11.2 项目设计与准备 11.4 项目实录11.1 相关知识 以HTTP为基础的WWW服务功能虽然强大,但对于文件传输来说却略显不足。一种专门用于文件传输的服务FTP服务应运而生。 FTP服务就是文件传输服务,FTP的全称是File Transfer Protocol,顾名思义,就是文件传输协议,具备更强的文件传输可靠性和更高的效率。 11.1.1 FTP工作原理 FTP大大简化了文件传输的复杂性,它能够使文件通过网络从一台主
3、机传送到另外一台计算机上却不受计算机和操作系统类型的限制。无论是PC、服务器、大型机,还是IOS、Linux、Windows操作系统,只要双方都支持协议FTP,就可以方便、可靠地进行文件的传送。FTP服务的具体工作过程如下,如图 11.1.1 FTP工作原理(1)客户端向服务器发出连接请求,同时客户端系统动态地打开一个大于1024的端口等候服务器连接(比如1031端口)。(2)若FTP服务器在端口21侦听到该请求,则会在客户端1031端口和服务器的21端口之间建立起一个FTP会话连接。(3)当需要传输数据时,FTP客户端再动态地打开一个大于1024的端口(比如1032端口)连接到服务器的20端
4、口,并在这两个端口之间进行数据的传输。当数据传输完毕后,这两个端口会自动关闭。(4)当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放。 11.1.2 匿名用户 FTP服务不同于WWW,它首先要求登录到服务器上,然后再进行文件的传输,这对于很多公开提供软件下载的服务器来说十分不便,于是匿名用户访问就诞生了。通过使用一个共同的用户名anonymous,密码不限的管理策略(一般使用用户的邮箱作为密码即可),让任何用户都可以很方便地从这些服务器上下载软件。11.1.3 FTP服务的传输模式 FTP服务有两种工作模式:主动传输模式(Active FTP)和被动传输模式(Pass
5、ive FTP)。1主动传输模式 在主动传输模式下,FTP客户端随机开启一个大于1024的端口N(比如1031)向服务器的21号端口发起连接,然后开放N+1号端口(1032)进行监听,并向服务器发出PORT 1032命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口1032,进行数据传输,如图 11.1.3 FTP服务的传输模式 2被动传输模式 在被动传输模式下,FTP客户端随机开启一个大于1024的端口N(比如1031)向服务器的21号端口发起连接,同时会开启N+1号端口(1032),然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命
6、令后,会开放一个大于1024的端口P(1521)进行监听,然后用PORT P命令通知客户端,自己的数据端口是1521。客户端收到命令后,会通过1032号端口连接服务器的端口152l,然后在两个端口之间进行数据传输,如图 11.1.4 流行的FTP服务器软件简介 1Vsftpd vsftpd是Red Hat Enterprise Linux 6内置的FTP服务器软件,它的使用方法最简单,安全性也很高(vs就是very secure的缩写,非常安全)。其用户数量最多。2PureFTPD PureFTPD也是Linux下一款很著名的FTP服务器软件,在SuSE、Debian中内置,不过遗憾的是,Re
7、d Hat Enterprise Linux 5中没有包含它的软件包。PureFTPD服务器使用起来很简单,根据它的网站宣传:初入门用户也可以在5分钟内用它创建一个FTP服务器。11.1.4 流行的FTP服务器软件简介 3Wu-ftpd Wu-ftpd是最老牌的FTP服务器软件,也曾经是Internet上最流行的FTP守护程序。它功能强大能够架构多种类型的FTP服务,不过它发布得较早,程序组织比较乱,安全性不太好。4Proftpd 虽然Wu-ftpd有着极佳的性能,同时也是一套很好的软件,然而它曾经有过不少的安全漏洞。Proftpd的研发者自己就曾花了很多的时间发掘Wu-ftpd的漏洞试图并加
8、以改进增加功能,然而十分遗憾的是,他们很快就发现显然Wu-ftpd需要全部重新改写的FTP服务器。为了追求一个安全且易于设定的FTP服务器,他们开始编写Proftpd。事实上也确实如此,Proftpd很容易配置,在多数情况下速度也比较快,而且干净的源代码导致缓冲溢出的错误也比较少。11.1.5 FTP命令 Linux系统中FTP命令的登录界面 11.1.5 FTP命令 Windows系统中FTP命令的登录界面 在登录成功之后,用户就可以进行相应的文件传输操作了。在提示符下输入“?”,显示ftp 命令说明。?与help相同。其中常用到的一些重要命令见相关资料下载。 11.2 项目设计与准备 11
9、.2.1 项目设计 在VMWare虚拟机中启动一台Linux服务器作为vsftpd服务器,在该系统中添加用户user1和user2。在客户端对vsftpd服务器进行测试。 最后介绍一个典型vsftpd服务器配置案例,以达到融会贯通的教学目标。11.2.2 项目准备需要如下设备。 1PC计算机2台,其中PCA安装企业版Linux网络操作系统,另一台作为测试客户端。 2推荐使用虚拟机进行网络环境搭建。11.3 项目实施11.3.1 任务1 安装、启动与停止vsftpd服务1安装安装vsftpd服务服务rootRHEL6 桌面# rpm -q vsftpdrootRHEL6 桌面# mkdir /i
10、sorootRHEL6 桌面# mount /dev/cdrom /isomount: block device /dev/sr0 is write-protected, mounting read-onlyrootRHEL6桌面# yum clean all /安装前先清除缓安装前先清除缓存存rootRHEL6 桌面# yum install vsftpd yrootRHEL6 桌面# yum install ftp y/同时安装同时安装ftp软件软件包包rootRHEL6 桌面# rpm qa|grep vsftpd/检查安装组件是否成功检查安装组件是否成功11.3 项目设计11.3.1
11、任务1 安装、启动与停止vsftpd服务可以使用下面的命令检查系统是否已经安装了可以使用下面的命令检查系统是否已经安装了vsftpd服务:服务:rootRHEL6 桌面桌面# rpm -qa |grep ftp11.3.1 任务1 安装、启动与停止vsftpd服务2vsftpd服务启动、重启、随系统启动、停止rootRHEL6 桌面# service vsftpd startrootRHEL6 桌面# service vsftpd restartrootRHEL6 桌面# chkconfig vsftpd on/每次开机后自动启动rootRHEL6 桌面# service vsftpd sto
12、p11.3.1 任务1 安装、启动与停止vsftpd服务3在客户端client测试vsftpd服务 在虚拟机client上进行测试,安装ftp软件包,测试时出现错误:rootclient 桌面# mount /dev/cdrom /isomount: block device /dev/sr0 is write-protected, mounting read-onlyrootclient 桌面# yum install vsftpd yrootclient 桌面# yum install ftp y/同时安装ftp软件包rootclient 桌面ftp: connect: 没有到主机的路由没
13、有到主机的路由/出现错误出现错误ftp exit11.3.1 任务1 安装、启动与停止vsftpd服务3在客户端client测试vsftpd服务 在虚拟机client上进行测试,安装ftp软件包,测试时出现错误: 分析:只能是防火墙和SELinux。一是让防火墙放行FTP服务,关闭SELinux;二是关闭防火墙和SELinux。11.3.1 任务1 安装、启动与停止vsftpd服务3在客户端client测试vsftpd服务 关闭防火墙和SELinux后的测试结果如图所示。默认FTP目录下有个文件夹pub。11.3.2 任务2 认识VSftpd的配置文件vftpd的配置主要通过以下几个文件来完成
14、。 1/etc/pam.d/vsftpd vsftpd的Pluggable Authentication Modules(PAM)配置文件,主要用来加强vsftpd服务器的用户认证。 2/etc/vsftpd/vsftpd.conf vsftpd的主配置文件。配置FTP服务器主要工作要通过修改此文件来完成。11.3.2 任务2 认识VSftpd的配置文件3/etc/vsftpd/ftpusers 所有位于此文件内的用户都不能访问vsftpd服务。当然,为了安全起见,这个文件中默认已经包括了root、bin和daemon等系统账号。4/etc/vsftpd/user_list 这个文件中包括的用
15、户有可能是被拒绝访问vsftpd服务的,也可能是允许访问的,这主要取决于vsftpd的主配置文件/etc/vsftpd/vsftpd.conf中的“userlist_deny”参数是设置为“YES”(默认值)还是“NO”。5/var/ftp vsftpd提供服务的文件集散地,它包括一个pub子目录。在默认配置下,所有的目录都是只读的,不过只有root用户有写权限。11.3.3 任务3 配置vsftpd常规服务器1配置监听地址与控制端口有时候,也许你不想采用FTP的默认21端口来提供服务。 【例11-1】 设置客户端访问通过2121端口,而不是默认的21端口来进行。 (1)用文本编辑器打开/et
16、c/vsftpd/vsftpd.conf。rootserver # vim /etc/vsftpd/vsftpd.conf(2)在其中添加如下两行。listen_port=212111.3.3 任务3 配置vsftpd常规服务器【例11-1】 设置客户端访问通过2121端口,而不是默认的21端口来进行。 关闭防火墙和SELinux,然后重启vsftpd服务后,在client客户端测试结果如下。(测试结束,将上面两行语句删除,以免影响后面实训。)rootRHEL6 # ftp 192.168.1.30 2121Connected to 192.168.1.30 (192.168.1.30).22
17、0 (vsftpd 2.2.2)Name (192.168.1.30:root): anonymous /也可以输入也可以输入ftp331 Please specify the password.Password:/匿名访问,密码为空匿名访问,密码为空230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftpexit/退出FTP交互方式。11.3.3 任务3 配置vsftpd常规服务器2配置FTP模式与数据端口vsftpd的主配置文件中还可以决定FTP采用的模式和数据传输端口。(
18、1)connect_from_port_20。设置以port模式进行数据传输时使用20端口。“YES”:表示使用。“NO”:表示不使用。(2)pasv_address。定义vsftpd服务器使用PASV模式时使用的IP地址。默认值未设置。(3)pasv_enable。默认值为“YES”,也就是允许使用PASV模式。11.3.3 任务3 配置vsftpd常规服务器2配置FTP模式与数据端口(4)pasv_min_port。 pasv_max_port指定PASV模式可以使用的最小(大)端口,默认值为0,就是未限制,请将它设置为不小于1 024的数值(最大端口不能大于65535)。(5)pasv_
19、promiscuous。设置为“YES”时,可以允许使用FxP功能。就是支持你的台式机作为客户控制端,让数据在两台服务器之间传输。(6)port_enable。允许使用主动传输模式,默认值为“YES”。11.3.3 任务3 配置vsftpd常规服务器3配置ASCII模式(1)ascii_download_enable。设置是否可用ASCII模式下载。默认值为“NO”。(2)ascii_upload_enable。设置是否可用ASCII模式上传。默认值为“NO”。11.3.3 任务3 配置vsftpd常规服务器4配置超时选项 vsftpd中还有超时定义选项,以防客户端无限制地连接在FTP服务器上
20、,占据宝贵的系统资源。(1)data_connection_timeout。定义数据传输过程中被阻塞的最长时间(以秒为单位),一旦超出这个时问,客户端的连接将被关闭。默认值是“300”。(2)idle_session_timeout。定义客户端闲置的最长时间(以秒为单位,默认值是300)。超过300秒后,客户端的连接将被强制关闭。(3)connect_timeout。设置客户端尝试连接vsftpd命令通道的超时时间。 11.3.3 任务3 配置vsftpd常规服务器4配置超时选项【例11-2】 设置客户端连接超时时间为60秒。 connect_timeout=6011.3.3 任务3 配置vs
21、ftpd常规服务器5配置负载控制 当然,所有的服务器管理员都不希望FTP客户端占用过多的带宽,而影响了服务器的正常运行,通过以下参数就可以设置。(1)anon_max_rate=5000。匿名用户的最大传输速率,单位是B/s。(2)local_max_rate=20000。本地用户的最大传输速率,单位是B/s。 【例11-3】 限制所有用户的下载速度为60KB/s。anon_max_rate=60000local_max_rate=6000011.3.3 任务3 配置vsftpd常规服务器6配置匿名用户 以下选项控制anonymous(匿名用户)访问vsftpd服务器。(1)anonymous
22、_enable。 当设置为“anonymous_enable=YES”时,表示启用匿名用户。当然,以下所有的控制匿名用户的选项,也只有在这项设置为“YES”时才生效。 【例11-4】 拒绝匿名用户登录FTP服务器。anonymous_enable=NO(2)anon_mkdir_write_enable。 本选项设置为“YES”时,匿名用户可以在一个具备写权限的目录中创建新目录。默认值为“NO”。11.3.3 任务3 配置vsftpd常规服务器(3)anon_root。 当匿名用户登录vsftpd后,将它的目录切换到指定目录。默认值为未设置。 【例11-5】 设置匿名用户的根目录为/var/f
23、tp/temp。anon_root=/var/ftp/temp(4)anon_upoad_enable。 当本选项设置为“YES”时,匿名用户可以向具备写权限的目录中上传文件。默认值为“NO”。(5)anon_world_readable_only。 默认值为“YES”,这代表着匿名用户只具备下载权限。(6)ftp_username。 指定匿名用户与本地的哪个账号相对应,该用户的/home目录即为匿名用户访问FTP服务器时的根目录。默认值是“ftp”。11.3.3 任务3 配置vsftpd常规服务器(7)no_anon_password。 设置为“YES”时,匿名用户不用输入密码。默认值为“N
24、O”。(8)secure_email_1ist_enable。 当设置为“YES”时(默认值为“NO”),匿名用户只有采用特定的E-mail作为密码才能访问vsftpd服务。 【例11-6】 搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp。 用文本编辑器打开,/etc/vsftpd/vsftpd.conf。rootserver # vim /etc/vsftpd/vsftpd.conf11.3.3 任务3 配置vsftpd常规服务器 在其中添加如下4行:anonymous_enable=YES#允许匿名用户登录允许匿名用户登录anon_root=/va
25、r/ftp#设置匿名用户的根目录为设置匿名用户的根目录为/var/ftpanon_upload_enable=YES#允许匿名用户上传文件允许匿名用户上传文件anon_mkdir_write_enable=YES#允许匿名用户创建文件夹允许匿名用户创建文件夹11.3.3 任务3 配置vsftpd常规服务器 在Windows 7客户端的资源管理器中输入,打开pub目录,新建一个文件夹,结果出错了。11.3.3 任务3 配置vsftpd常规服务器 设置本地系统权限,一是将属主设为ftp,二是对pub目录赋予其他用户写的权限。rootRHEL6 桌面# ll -ld /var/ftp/pubdrwx
26、r-xr-x. 2 root root 4096 1月 3 12:36 /var/ftp/pub /其他用户没有写入权限其他用户没有写入权限rootRHEL6 桌面# chown ftp /var/ftp/pub /将属主改为匿名用户将属主改为匿名用户ftprootRHEL6 桌面# ll -ld /var/ftp/pubdrwxr-xr-x. 2 ftp root 4096 1月 3 12:36 /var/ftp/pub /已将属主改为匿名用户已将属主改为匿名用户ftprootRHEL6 桌面# service vsftpd restart 再次使用再次使用Windows 7客户端测试,在客
27、户端测试,在pub目录下能够建立新文件夹。目录下能够建立新文件夹。11.3.3 任务3 配置vsftpd常规服务器11.3.3 任务3 配置vsftpd常规服务器7配置本地用户及目录 vsftpd允许用户以本地用户或者匿名用户登录(其中本地用户就是服务器上有实际账号的那些用户),并且提供了丰富的控制选项。 (1)local_enable。是否允许本地用户登录,默认值为“YES”,也就是允许本地用户访问vsftpd服务器。以下选项只有在“local enable=YES”的前提下才有效。 11.3.3 任务3 配置vsftpd常规服务器7配置本地用户及目录【例11-7】 允许本地用户登录FTP服
28、务器。local_enable=YES(2)local_root。指定本地用户登录vsftpd服务器时切换到的目录。没有设置默认值。11.3.3 任务3 配置vsftpd常规服务器(3)local_umask。 设置文件创建的掩码(操作方法与设置文件创建的掩码(操作方法与Linux下文件属性设置相下文件属性设置相同),默认值是同),默认值是“022”,也就是其他用户具有只读属性。,也就是其他用户具有只读属性。11.3.3 任务3 配置vsftpd常规服务器【例11-8】 搭建一台只允许本地账户登录的FTP服务器。 用文本编辑器打开/etc/vsftpd/vsftpd.conf主配置文件。 【r
29、ootserver 】# vim /etc/vsftpd/vsftpd.conf 在其中添加如下3行: anonymous_enable=NO#不允许匿名用户登录不允许匿名用户登录local_enable=YES#允许本地用户登录允许本地用户登录FTP服务器服务器local_root=/home#指定本地用户登录指定本地用户登录FTP服务器时切换到的目录服务器时切换到的目录11.3.3 任务3 配置vsftpd常规服务器【例11-8】 搭建一台只允许本地账户登录的FTP服务器。 建立不能在本地登录的用户user1和user2,并设置用户密码。rootRHEL6 桌面# useradd -s /
30、sbin/nologin user1rootRHEL6 桌面# useradd -s /sbin/nologin user2rootRHEL6 桌面# passwd user1rootRHEL6 桌面# passswd user211.3.3 任务3 配置vsftpd常规服务器【例11-8】 搭建一台只允许本地账户登录的FTP服务器。 测试。rootclient 桌面# Connected to 192.168.1.30 (192.168.1.30).220 (vsftpd 2.2.2)Name (192.168.2.30:root): ftp/输入匿名用户输入匿名用户ftp登录登录331 P
31、lease specify the password.Password:clos530 Login incorrect.Login failed./登录失败登录失败ftp close/关闭该连接关闭该连接221 Goodbye.ftp open 192.168.1.30/重新打开重新打开ftp服务器服务器Connected to 192.168.1.30 (192.168.1.30).220 (vsftpd 2.2.2)Name (192.168.1.30:root): user1/输入本地用户输入本地用户user1331 Please specify the password.Passwor
32、d:/输入输入user1的用户密码的用户密码230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp ls/登录成功,可以列出设置的根目录下的文件夹登录成功,可以列出设置的根目录下的文件夹227 Entering Passive Mode (192,168,1,30,248,129).150 Here comes the directory listing.drwx- 2 0 0 16384 Dec 03 18:12 lost+founddrwx- 4 501 501 4096
33、 Dec 13 07:50 user1drwx- 4 502 502 4096 Dec 13 07:51 user2drwx- 26 500 500 4096 Dec 03 20:10 yyadmin226 Directory send OK.ftp11.3.3 任务3 配置vsftpd常规服务器(4)chmod_enable。当设置为“YES”时,以本地用户登录的客户端可以通过“SITE CHMOD”命令来修改文件的权限。(5)chroot_local_user。设置为“YES”时,本地用户只能访问到它的/home目录,不能切换到/home目录之外。(6)chroot_list_enable
34、。11.3.3 任务3 配置vsftpd常规服务器 当设置为“YES”时,表示本地用户也有些例外,可以切换到它的/home目录之外,例外的用户在“chroot_list_file”指定的文件中(默认文件是“/etc/vsftpd/chroot_list”)。 限制用户目录的意思就是把使用者的活动范围限制在某一个目录里,他可以在这个目录范围内自由活动,但是不可以进入这个目录以外的任何目录。如果我们不限制FTP服务器使用者的活动范围的话,那么所有的使用者就可以随意地浏览整个文件系统,稍有设置不当就会给一些心怀不轨的用户制造机会,所以vsftp提供防止出现这类问题的功能,它就是限制用户目录。 11.
35、3.3 任务3 配置vsftpd常规服务器【例11-9】 限制用户目录只能在本人/home目录内。 建立用户user1和user2。rootRHEL6 # useradd -s /sbin/nologin user1rootRHEL6 # useradd -s /sbin/nologin user211.3.3 任务3 配置vsftpd常规服务器 修改主配置文件/etc/vsftpd/vsftpd.conf。 把chroot_list_enable和chroot_list_file前面的注释符号去掉即可。 chroot_list_enable=YES# (default follows)chr
36、oot_list_file=/etc/vsftpd/chroot_list 编辑chroot_list文件。编辑/etc/vsftpd/chroot_list,并添加需要锁定用户目录的账号(注意每个用户占一行)。 rootRHEL6 # vim /etc/vsftpd/chroot_listuser1user211.3.3 任务3 配置vsftpd常规服务器 重启服务及测试。 当使用user1账号登录的时候,发现可以成功登录,但是当使用pwd命令查看当前路径时,发现目前所处的位置是在“/”下,而使用ls命令后发现,实际现在所处的位置是在/home目录下。这样一来,user1这个用户就被完全锁定
37、在/home目录中了,即使user1账号被黑客或图谋不轨者盗取,也无法对服务器做出过大的危害,从而大大提高系统安全性。11.3.3 任务3 配置vsftpd常规服务器8配置虚拟用户 基于安全方面的考虑,vsftpd除了支持本地用户和匿名用户之外,还支持虚拟用户,就是将所有非Anonymous(匿名用户)都映射为一个虚拟用户,从而统一限制其他用户的访问权限。 (1)guest_enable。 当设置为“YES”时(默认值为“NO”),所有非匿名用户都被映射为一个特定的本地用户。该用户通过“guest_username”命令指定。 (2)guest_username。 设置虚拟用户映射到的本地用户
38、,默认值为“ftp”。 11.3.3 任务3 配置vsftpd常规服务器9配置用户登录控制 vsftpd还提供了丰富的登录控制选项,包括登录后客户端可以显示的信息,允许执行的命令等,以及登录中的一些控制选项。 (1)banner_file。 设置客户端登录之后,服务器显示在客户端的信息,该信息保存在“banner_file”指定的文本文件中。 (2)cmds_allowed。 设置客户端登录vsftpd服务器后,客户端可以执行的命令集合。需要注意的是,如果设置了该命令,则其他没有列在其中的命令都拒绝执行。没有设置默认值。 (3)ftpd-banner。 设置客户端登录vsftpd服务器后,客户
39、端显示的欢迎信息或者其他相关信息。需要注意的是,如果设置了“banner_file”,则本命令会被忽略。没有设置默认值。11.3.3 任务3 配置vsftpd常规服务器(4)userlist_enable。userlist_deny设置使用设置使用/etc/vsftpd/user_list文件来控制用户的文件来控制用户的访问权限,当访问权限,当userlist_deny设置为设置为“YES”时,时,user_list中的用户都不中的用户都不能登录能登录vsftpd服务器;设置为服务器;设置为“NO”时,只有该文件中的用户才能访问时,只有该文件中的用户才能访问vsftpd服务器。当然,这些都是在
40、服务器。当然,这些都是在“userlist_enable”被设置为被设置为“YES”时才生效。时才生效。11.3.3 任务3 配置vsftpd常规服务器【例例11-10】 设置一个禁止登录的用户列表文件设置一个禁止登录的用户列表文件/etc/vsftpd/user_list,并让该文件可以正常工作。并让该文件可以正常工作。rootRHEL6 # vim /etc/vsftpd/vsftpd.confuserlist_enable=YESuserlist_file=/etc/vsftpd/user_list11.3.3 任务3 配置vsftpd常规服务器10配置目录访问控制 vsftpd还针对目
41、录的访问设置了丰富的控制选项。 (1)dirlist_enable。 设置是否允许用户列目录。默认值为“YES”,即允许列目录。 (2)dirmessage_enable。 设置当用户切换到一个目录时,是否显示目录切换信息。如果设置为“YES”,则显示“message_file”指定文件中的信息(默认是显示.message文件信息)。在项目实录中的子项目3对此有详细讲解。 (3)message_file。 用于指定目录切换时显示的信息所在的文件,默认值为“.message”。 11.3.3 任务3 配置vsftpd常规服务器【例11-11】 设置用户进入/home/user1/目录后,提示“W
42、elcome to user1s space!”。 用vim编辑/etc/vsftpd/vsftpd.conf主配置文件。rootRHEL6 # vim /etc/vsftpd/vsftpd.confdirmessage_enable=YESmessage_file=.message#指定信息文件为.message 创建提示性文件。rootRHEL6 # cd /home/user1rootRHEL6 user1# vim .messageWelcome to user1s space!11.3.3 任务3 配置vsftpd常规服务器【例11-11】 设置用户进入/home/user1/目录后
43、,提示“Welcome to user1s space!”。 测试。测试结果表明,使用测试。测试结果表明,使用user1登录成功,当进入登录成功,当进入user1目录时,显示提示信息目录时,显示提示信息“Welcome to user1s space!”。 时刻注意防火墙和时刻注意防火墙和SELinux、本地权限等对、本地权限等对FTP服务器配置的影响,服务器配置的影响,其他服务器也要注意!其他服务器也要注意!11.3.3 任务3 配置vsftpd常规服务器(4)force_dot_file。 设置是否显示以设置是否显示以“.”开头的文件,默认值是不显示。开头的文件,默认值是不显示。 (5)h
44、ide_ids。 隐藏文件的所有者和组信息,匿名用户看到的文件所有者和组隐藏文件的所有者和组信息,匿名用户看到的文件所有者和组全部变成全部变成ftp。11配置文件操作控制 vsftpd还提供了几个选项用于控制文件的上传和下载。 (1)download_enable。 设置是否允许下载。默认值是“YES”,即允许下载。 (2)chown_uploads。 当设置为“YES”时,所有匿名用户上传的文件,其拥有者都会被设置为“chown_username”命令指定的用户。默认值是“NO”。 (3)chown_username。 设置匿名用户上传的文件的拥有者。默认值是“root”。 (4)write
45、_enable。 当设置为“YES”时,FTP客户端登录后允许使用DELE(删除文件)、RNFR(重命名)和STOR(断点续传)命令。11.3.3 任务3 配置vsftpd常规服务器11.3.3 任务3 配置vsftpd常规服务器12配置新增文件权限设置 vsftpd服务器可以让我们设置上传过来的文件权限,以进行安全方面的设置。 (1)anon_umask。匿名用户新增文件的umask数值。默认值为077。 (2)file_open_mode。 上传文件的权限,与chmod所使用的数值相同。如果希望上传的文件可以执行,则设置此值为0777。默认值为0666。 (3)local_umask。 本
46、地用户新增文件时的umask数值(默认值为077)。不过,其他大多数的FTP服务器使用的都是022。如果用户希望的话,则可以修改为022。11.3.3 任务3 配置vsftpd常规服务器13日志设置日志设置vsftpd还可以让我们记录服务器的工作状态,以及客户端的上传、下载操作。还可以让我们记录服务器的工作状态,以及客户端的上传、下载操作。(1)dual_log_enable。如果启用,将生成两个相似的日志文件,分别为如果启用,将生成两个相似的日志文件,分别为/var/log/xferlog和和/var/logrolate.d/vsftpd.log。前者是。前者是Wu-ftpd类型的传输日志,
47、可以用于标准工具分类型的传输日志,可以用于标准工具分析;后者是析;后者是vsftpd自己类型的日志。默认值为自己类型的日志。默认值为“NO”。(2)log_ftp_protocol。是否记录所有的是否记录所有的FTP命令信息。默认值为命令信息。默认值为“NO”。(3)syslog_enable。设置为设置为“YES”时会将本来应记录在时会将本来应记录在/var/logrolate.d/vsftpd.log中的信息,转而传中的信息,转而传给给syslogd daemon,由,由syslogd的配置文件决定存于什么位置。默认值为的配置文件决定存于什么位置。默认值为“NO”。11.3.3 任务3 配
48、置vsftpd常规服务器13日志设置(4)xferlog_enable。如果启用,将会维护一日志文件,用于详细记录上传和下载操作。在默认情况下,这个日志文件是/var/logrolate.d/vsftpd.log,但是也可以通过配置文件中的vsftpd_log_file选项来指定。默认值为“NO”。(5)xferlog_std_format。如果启用,传输日志文件将以标准xferlog的格式书写,如同Wu-ftpd一样。此格式的日志文件默认/var/log/xferlog,但是也可以通过xferlog_file选项来设定。11.3.3 任务3 配置vsftpd常规服务器14配置限制服务器连接数
49、配置限制服务器连接数 限制在同一时刻内允许连接服务器的数量是一种非常有效的保护服务限制在同一时刻内允许连接服务器的数量是一种非常有效的保护服务器并减少负载的方式之一。主配置文件中常用的字段有以下两种。器并减少负载的方式之一。主配置文件中常用的字段有以下两种。 (1)max_clients。设置设置FTP同一时刻的最大连接数。默认值为同一时刻的最大连接数。默认值为0,表示不限制最大连接数。,表示不限制最大连接数。 (2)max_per_ip。设置每个设置每个IP的最大连接数。默认值为的最大连接数。默认值为0,表示不限制最大连接数。,表示不限制最大连接数。11.3.3 任务3 配置vsftpd常规
50、服务器15常规FTP服务器配置案例 某学院信息工程系准备搭建一台功能简单的FTP服务器,允许信息工程系员工上传和下载文件,并允许创建用户自己的目录。 本案例是一个较为简单的基本案例,允许所有员工上传和下载文件需要设置成为允许匿名用户登录,而且,还需要把允许匿名用户上传功能打开。anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。11.3.3 任务3 配置vsftpd常规服务器解决方案如下。 (1)用文本编辑器编辑/etc/vsftpd/vsftpd.conf,并允许匿名用户访问。rootserver # vim /etc/vsftpd/vsftpd.confan