




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络服务器搭建第2版(项目7 FTP) 杨云项目7 配置与管理FTP服务器 项目描述:某学院组建了校园网,建设了学院网站,架设了Web服务器来为学院网站安家,但在网站上传和更新时,需要用到文件上传和下载,功能因此还要架设FTP服务器,为学院内部和互联网用户提供FTP等服务。本单元先实践配置与管理Apache服务器。 项目目标 :掌握FTP服务的工作原理 学会配置vsftpd服务器 掌握配置基于虚拟用户的FTP服务器 实践典型的FTP服务器配置案例7.1 相关知识 7.3 项目实施 7.6 项目实录7.7 练习题 7.8 实践习题7.9 超级链接 项目7 配置与管理FTP服务器7.2 项目设计与
2、准备 7.4 企业实战与应用 7.5 FTP排错 7.1 相关知识 FTP服务就是文件传输服务,FTP的全称是File Transfer Protocol,顾名思义,就是文件传输协议,具备更强的文件传输可靠性和更高的效率。 7.1.1 FTP工作原理7.1.2 匿名用户 FTP服务不同于WWW,它首先要求登录到服务器上,然后再进行文件的传输,这对于很多公开提供软件下载的服务器来说十分不便,于是匿名用户访问就诞生了。通过使用一个共同的用户名anonymous,密码不限的管理策略(一般使用用户的邮箱作为密码即可),让任何用户都可以很方便地从这些服务器上下载软件。7.1.3 FTP服务的传输模式 F
3、TP服务有两种工作模式:主动传输模式(Active FTP)和被动传输模式(Passive FTP)。1主动传输模式7.1.3 FTP服务的传输模式 2被动传输模式7.1.4 流行的FTP服务器软件简介 1Vsftpd 2PureFTPD3Wu-ftpd4Proftpd 7.1.5 FTP命令 Linux系统中FTP命令的登录界面 7.1.5 FTP命令 Windows系统中FTP命令的登录界面 7.2 项目设计与准备 7.2.1 项目设计 在VMWare虚拟机中启动3台虚拟机,其中一台Linux服务器作为vsftpd服务器(),在该系统中添加用户user1和user2;一台Linux客户端c
4、lient(11)对vsftpd服务器进行测试,一台Windows 7客户端(00,也可以用Windows 7物理机来代替,但那样的网络连接方式都应是桥接。一定注意网络连接方式。)。7.2.2 项目准备需要如下设备。 1PC计算机2台,其中一台安装企业版Linux网络操作系统,另一台作为测试客户端。 2推荐使用虚拟机进行网络环境搭建。7.3 项目设计任务7-1 安装、启动与停止vsftpd服务1安装vsftpd服务rootRHEL6 桌面# rpm -q vsftpdrootRHEL6 桌面# mkdir /isorootRHEL6 桌面# mount /dev/cdrom /isomount
5、: 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/检查安装组件是否成功7.3 项目实施任务7-1 安装、启动与停止vsftpd服务可以使用下面的命令检查系统是否已经安装了vsftpd服务:rootRHEL6 桌面# rpm -qa |g
6、rep ftpgvfs-obexftp-1.4.3-15.el6.x86_64vsftpd-2.2.2-11.el6.x86_64ftp-0.17-53.el6.x86_64任务7-1 安装、启动与停止vsftpd服务2vsftpd服务启动、重启、随系统启动、停止rootRHEL6 桌面# service vsftpd startrootRHEL6 桌面# service vsftpd restartrootRHEL6 桌面# chkconfig vsftpd on/每次开机后自动启动rootRHEL6 桌面# service vsftpd stop任务7-1 安装、启动与停止vsftpd服务
7、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 ftp: connect: 没有到主机的路由/出现错误ftp exit任务7-1 安装、启
8、动与停止vsftpd服务3在客户端client测试vsftpd服务 在虚拟机client上进行测试,安装ftp软件包,测试时出现错误: 分析:只能是防火墙和SELinux。一是让防火墙放行FTP服务,关闭SELinux;二是关闭防火墙和SELinux。任务7-1 安装、启动与停止vsftpd服务3在客户端client测试vsftpd服务 关闭防火墙和SELinux后的测试结果如图7-6所示。默认FTP目录下有个文件夹pub。任务7-2 认识VSftpd的配置文件vftpd的配置主要通过以下几个文件来完成。 1/etc/pam.d/vsftpd 2/etc/vsftpd/vsftpd.conf3
9、/etc/vsftpd/ftpusers4/etc/vsftpd/user_list 5/var/ftp任务7-3 配置vsftpd常规服务器1配置监听地址与控制端口有时候,也许你不想采用FTP的默认21端口来提供服务。 【例7-1】 设置客户端访问通过2121端口,而不是默认的21端口来进行。 (1)用文本编辑器打开/etc/vsftpd/vsftpd.conf。rootserver # vim /etc/vsftpd/vsftpd.conf(2)在其中添加如下两行。listen_address=listen_port=2121任务7-3 配置vsftpd常规服务器2配置FTP模式与数据端口
10、vsftpd的主配置文件中还可以决定FTP采用的模式和数据传输端口。(1)connect_from_port_20。(2)pasv_address。(3)pasv_enable。(4)pasv_min_port。 pasv_max_port(5)pasv_promiscuous。(6)port_enable。任务7-3 配置vsftpd常规服务器3配置ASCII模式(1)ascii_download_enable。设置是否可用ASCII模式下载。默认值为“NO”。(2)ascii_upload_enable。设置是否可用ASCII模式上传。默认值为“NO”。任务7-3 配置vsftpd常规服务
11、器4配置超时选项 vsftpd中还有超时定义选项,以防客户端无限制地连接在FTP服务器上,占据宝贵的系统资源。(1)data_connection_timeout。定义数据传输过程中被阻塞的最长时间(以秒为单位),一旦超出这个时问,客户端的连接将被关闭。默认值是“300”。(2)idle_session_timeout。定义客户端闲置的最长时间(以秒为单位,默认值是300)。超过300秒后,客户端的连接将被强制关闭。(3)connect_timeout。设置客户端尝试连接vsftpd命令通道的超时时间。 【例7-2】 设置客户端连接超时时间为60秒。 connect_timeout=60任务7
12、-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器 用文本编辑器打开,/etc/vsftpd/vsftpd.conf。rootRHEL6 桌面# vim /etc/vsftpd/vsftpd.conf 在其中添加如下4行:anonymous_enable=YES#允许匿名用户登录anon_root=/var/ftp#设置匿名用户的根目录为/var/ftpanon_upload_enable=YES#允许匿名用户上传文件anon_mkdir_write_enabl
13、e=YES#允许匿名用户创建文件夹任务7-3 配置vsftpd常规服务器图7-7 测试FTP服务器出错任务7-3 配置vsftpd常规服务器什么原因呢?系统的本地权限没有设置! 设置本地系统权限,一是将属主设为ftp,二是对pub目录赋予其他用户写的权限。rootRHEL6 桌面# ll -ld /var/ftp/pubdrwxr-xr-x 2 root root 4096 3月 2 2012 /var/ftp/pub/其他用户没有写入权限rootRHEL6 桌面# chown ftp /var/ftp/pub/将属主改为匿名用户ftprootRHEL6 桌面# ll -ld /var/ftp
14、/pubdrwxr-xr-x 2 ftp root 4096 3月 2 2012 /var/ftp/pub /已将属主改为匿名用户ftprootRHEL6 桌面# service vsftpd restart 再次使用Windows 7客户端测试,在pub目录下能够建立新文件夹。任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器 建立用户user1和user2,并设置用户密码。rootRHEL6 桌面# useradd -s /sbin/nologin user1rootRHEL6 桌面# u
15、seradd -s /sbin/nologin user2rootRHEL6 桌面# passwd user1rootRHEL6 桌面# passswd user2任务7-3 配置vsftpd常规服务器 测试。 rootclient 桌面# ftp Connected to ().220 (vsFTPd 2.2.2)Name (:root): ftp/输入匿名用户ftp登录331 Please specify the password.Password:clos530 Login incorrect.Login failed./登录失败ftp close/关闭该连接221 Goodbye.ft
16、p open /重新打开ftp服务器Connected to ().220 (vsFTPd 2.2.2)Name (:root): user1/输入本地用户user1331 Please specify the password.Password:/输入user1的用户密码230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp ls/登录成功,可以列出设置的根目录下的文件夹227 Entering Passive Mode (192,168,0,3,102,191).150
17、Here comes the directory listing.drwx- 2 0 0 16384 Dec 03 18:12 lost+founddrwx- 4 501 501 4096 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.ftp任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器 重启服务及测试。 任务7-3 配置vsftpd常规服务器 重启服务及测试。 root
18、client 桌面# ftp Connected to ().220 (vsFTPd 2.2.2)Name (:root): user1331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp pwd257 /目前在“/”目录下。实际上是在“/home“目录,从ls命令显示的内容可以看出ftp ls227 Entering Passive Mode (192,168,0,3,41,229).150
19、 Here comes the directory listing.drwx- 2 0 0 16384 Dec 03 18:12 lost+founddrwx- 4 501 501 4096 Dec 13 07:50 user1drwx- 4 502 502 4096 Dec 13 07:51 user2226 Directory send OK.任务7-3 配置vsftpd常规服务器8配置虚拟用户 基于安全方面的考虑,vsftpd除了支持本地用户和匿名用户之外,还支持虚拟用户,就是将所有非Anonymous(匿名用户)都映射为一个虚拟用户,从而统一限制其他用户的访问权限。 (1)guest_
20、enable。 当设置为“YES”时(默认值为“NO”),所有非匿名用户都被映射为一个特定的本地用户。该用户通过“guest_username”命令指定。 (2)guest_username。 设置虚拟用户映射到的本地用户,默认值为“ftp”。 任务7-3 配置vsftpd常规服务器9配置用户登录控制 vsftpd还提供了丰富的登录控制选项,包括登录后客户端可以显示的信息,允许执行的命令等,以及登录中的一些控制选项。 (1)banner_file。 设置客户端登录之后,服务器显示在客户端的信息,该信息保存在“banner_file”指定的文本文件中。 (2)cmds_allowed。 设置客户
21、端登录vsftpd服务器后,客户端可以执行的命令集合。需要注意的是,如果设置了该命令,则其他没有列在其中的命令都拒绝执行。没有设置默认值。 (3)ftpd-banner。 设置客户端登录vsftpd服务器后,客户端显示的欢迎信息或者其他相关信息。需要注意的是,如果设置了“banner_file”,则本命令会被忽略。没有设置默认值。任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器10配置目录访问控制 vsftpd还针对目录的访问设置了丰富的控制选项。 (1)dirlist_enable。 设置是否允许用户列目录。默认值为“YES”,即允许列目录。 (2)dirmess
22、age_enable。 设置当用户切换到一个目录时,是否显示目录切换信息。如果设置为“YES”,则显示“message_file”指定文件中的信息(默认是显示.message文件信息)。在项目实录中的子项目3对此有详细讲解。 (3)message_file。 用于指定目录切换时显示的信息所在的文件,默认值为“.message”。 任务7-3 配置vsftpd常规服务器 测试。 (4)force_dot_file。(5)hide_ids。 任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器13日志设置vsftpd还可以让我们记录服务
23、器的工作状态,以及客户端的上传、下载操作。(1)dual_log_enable。(2)log_ftp_protocol。(3)syslog_enable。(4)xferlog_enable。(5)xferlog_std_format。 任务7-3 配置vsftpd常规服务器14配置限制服务器连接数 限制在同一时刻内允许连接服务器的数量是一种非常有效的保护服务器并减少负载的方式之一。主配置文件中常用的字段有以下两种。 (1)max_clients。设置FTP同一时刻的最大连接数。默认值为0,表示不限制最大连接数。 (2)max_per_ip。设置每个IP的最大连接数。默认值为0,表示不限制最大连
24、接数。任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器(4)关闭防火墙和SELinux。 利用setup命令打开防火墙对话框,将“启用”前面的“*”按空格去掉,保存退出即可。 编辑/etc/sysconfig/selinux文件,将“SELINUX=enforcing”改为“SELINUX=disabled”,存盘退出,重启系统即可。如果临时设定,则可以使用:“setenforc
25、e 0”命令,但该命令重启后失效。 任务7-3 配置vsftpd常规服务器任务7-3 配置vsftpd常规服务器(7)测试结果如图 任务7-4 设置vsftp虚拟账号1创建用户数据库 (1)创建用户文本文件。 首先,建立保存虚拟账号和密码的文本文件,格式如下。虚拟账号1密码虚拟账号2密码任务7-4 设置vsftp虚拟账号 使用vi编辑器建立用户文件vuser.txt,添加虚拟账号user10和user20。如下所示。 rootserver # mkdir /vftprootserver # vim /vftp/vuser.txtuser10123456user20123456任务7-4 设置v
26、sftp虚拟账号任务7-4 设置vsftp虚拟账号(3)修改数据库文件访问权限。 数据库文件中保存着虚拟账号和密码信息,为了防止非法用户盗取,可以修改该文件的访问权限。rootserver # chmod 700 /vftp/vuser.dbrootserver # ll /vftp任务7-4 设置vsftp虚拟账号2配置PAM文件 为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块。PAM(Plugable Authentication Module)为可插拔认证模块,不必重新安装应用程序,通过修改指定的配置文件,调整对该程序的认证方式。PAM模块配置文件路径为/
27、etc/pam.d,该目录下保存着大量与认证有关的配置文件,并以服务名称命名。 下面修改vsftp对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段,如下所示。rootRHEL6 桌面# vim /etc/pam.d/vsftpd#PAM-1.0#sessionoptionalpam_keyinit.soforcerevoke#authrequiredpam_listfile.soitem=usersense=deny#file=/etc/vsftpd/ftpusersonerr=succeed#authrequiredpam_shells.so
28、authrequired/lib64/security/pam_userdb.sodb=/vftp/vusersessionrequired/lib64/security/pam_userdb.so db=/vftp/vuser任务7-4 设置vsftp虚拟账号任务7-4 设置vsftp虚拟账号4修改vsftpd.confanonymous_enable=NOanon_upload_enable= NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_enable=YESchroot_local_user=YESwrite_en
29、able=NOguest_enable=YESguest_username=vuserlisten=YESpam_service_name=vsftpd以上代码中其后带序号的各行功能说明如下。 为了保证服务器的安全,关闭匿名访问,以及其他匿名相关设置。 虚拟账号会映射为服务器的系统账号,所以需要开启本地账号的支持。 锁定账户的根目录。 关闭用户的写权限。 开启虚拟账号访问功能。 设置虚拟账号对应的系统账号为vuser。 设置FTP服务器为独立运行。 配置vsftp使用的PAM模块为vsftpd。任务7-4 设置vsftp虚拟账号5重启vsftpd服务6测试 使用虚拟账号user1登录FTP服务
30、器,进行测试,会发现虚拟账号登录成功,并显示FTP服务器目录信息。7.4 企业实战与应用 7.4.1 企业环境 公司为了宣传最新的产品信息,计划搭建FTP服务器,为客户提供相关文档的下载。对所有互联网用户开放共享目录,允许下载产品信息,禁止上传。公司的合作单位能够使用FTP服务器进行上传和下载,但不可删除数据。并且为保证服务器的稳定性,需要进行适当优化设置。7.4.2 需求分析 根据企业的需求,对于不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。而考虑服务器的安全性,所以关闭实体用户登录,使用虚拟账户验证机制,并对不同虚拟账号设置不同的权限。为了保证服务器的性能,还需要根据用户的等
31、级限制客户端的连接数以及下载速度。7.4.3 解决方案7.4.3 解决方案7.4.3 解决方案2配置PAM文件修改vsftp对应的PAM配置文件/etc/pam.d/vsftpd,如下所示。#%PAM 1.0# session optional pam_keyinit.so force revoke# auth required pam_listfile.soitem=user sense=deny#file = /etc/vsftpd/ftptestusers onerr = succeed#auth required pam_shells.so# auth include system-a
32、uth# account include system-auth# session include svstem-auth# session required pam_loginuid.soauth required /lib64/security/pam_userdb.so db=/ftptestuser/ftptestuseraccount required /lib64/security/pam_userdb.sodb=/ftptestuser/ftptestuser7.4.3 解决方案3创建虚拟账户对应系统用户 对于公共账户和客户账户,因为需要配置不同的权限,所以可以将两个账户的目录进
33、行隔离,控制用户的文件访问。公共账户ftp对应系统账户ftpuser,并指定其主目录为/var/ftp/share,而客户账户vip对应系统账户ftpvip,指定主目录为/var/ftp/vip。7.4.3 解决方案4建立配置文件 设置多个虚拟账户的不同权限,若使用一个配置文件无法实现该功能,这时需要为每个虚拟账户建立独立的配置文件,并根据需要进行相应的设置。 step1:修改vsftpd.conf。配置主配置文件vsftpd.conf,添加虚拟账号的共同设置,并添加user_config_dir字段,定义虚拟账号的配置文件目录,如下所示。anonymous_enable=NOanon_upl
34、oad_enable= NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_enable=YESchroot_local_user=YESlisten=YESpam_service_name=vsftpduser_config_dir=/ftpconfigmax_clients=300max_per_ip=107.4.3 解决方案以上文件中其后带序号的几行代码的功能说明如下。 配置vsftp使用的PAM模块为vsftpd。 设置虚拟账号的主目录为/ftpconfig。 设置FTP服务器最大接入客户端数量为300。 每个IP地址
35、最大连接数为10。7.4.3 解决方案step2:建立虚拟账号配置文件。 设置多个虚拟账号的不同权限,若使用一个配置文件无法实现此功能,需要为每个虚拟账号建立独立的配置文件,并根据需要进行相应的设置。 在user_config_dir指定路径下,建立与虚拟账号同名的配置文件,并添加相应的配置字段。首先创建公共账号ftp的配置文件,如下所示。7.4.3 解决方案以上文件中其后带序号的几行代码的功能说明如下。 开启虚拟账号登录。 设置ftp对应的系统账号为ftpuser。 配置虚拟账号全局可读,允许其下载数据。 限定传输速率为30KB/s。7.4.3 解决方案同理设置ftpvip的配置文件。以上文件中其后带序号的几行代码的功能说明如下。 设置vip账户对应的系统账户为ftpvip。 关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省枣庄市现代实验学校2024-2025学年高考原创信息试卷物理试题(三)含解析
- 山西省忻州市岢岚县中学2025届高三下学期教学质量调研考试(二模)历史试题试卷含解析
- 四川托普信息技术职业学院《NoSQ数据库原理》2023-2024学年第二学期期末试卷
- 上海外国语大秀洲外国语校2024-2025学年初三4月阶段性测试语文试题含解析
- 西北师范大学《地方文化研究》2023-2024学年第二学期期末试卷
- 武汉科技大学《印度文化遗产赏析》2023-2024学年第二学期期末试卷
- 上海师范大学《中国古代文学I》2023-2024学年第一学期期末试卷
- 江苏省高邮市阳光双语初中重点名校2025年初三最后一考生物试题试卷含解析
- 西安高新科技职业学院《外国史学史》2023-2024学年第一学期期末试卷
- 江苏省苏州市东山中学2025年初三5月月考英语试题理试题含答案
- 肝硬化常见并发症的护理
- 2025年北京市通州区九年级初三一模道德与法治试卷(含答案)
- 惠州一中、珠海一中等六校联考2024-2025学年高三考前热身物理试卷含解析
- 所得税会计试题及答案
- 2025年保安员职业技能考试笔试试题(700题)附答案
- 《知不足而后进 望山远而力行》期中家长会课件
- 专题09 乡村和城镇-五年(2019-2023)高考地理真题分项汇编(解析版)
- 2025年第三届天扬杯建筑业财税知识竞赛题库附答案(201-300题)
- 2025年纳米镍粉市场规模分析
- T-NKFA 015-2024 中小学午休课桌椅
- 2024年山东淄博中考满分作文《从“阅”到“悦”》5
评论
0/150
提交评论