第十二章 FTP服务器配置.docx
《第十二章 FTP服务器配置.docx》由会员分享,可在线阅读,更多相关《第十二章 FTP服务器配置.docx(23页珍藏版)》请在三一办公上搜索。
1、第十二章 FTP服务器配置第十二章 FTP服务器配置 文件传输协议,顾名思义,是在文件传输时使用的通信协议,它出现在TCP/IP网络和Internet上的时间很早,在HTTP尚未广为流行前,FTP便是网络传输不可或缺的工具。 12.1 FTP特色 虽然目前WWW已取代了FTP的部分功能,但它至今仍具有独树一帜的特色。 交互式访问 FTP允许用户和服务器之间,利用交互的方式来访问服务器资源,例如用户可要求FTP服务器列出某一目录中的文件列表,或是使用二进制文件的模式进行传输。 指定下载的文件格式 FTP允许客户端指定文件保存的格式,例如用户在访问FTP服务器的数据时可以指定包含文本文件或二进制文
2、件,同时也可以指定使用ASCII或EBCDIC的文本文件格式。 ftp binary # 以二进制模式进行传输 200 Switching to Binary mode. 稳定的传输机制 FTP与其他通信协议最大的不同是,它使用两个连接端口来和客户端连接:TCP 20和TCP 21,其中连接端口TCP 20用来传递数据,而TCP 21则负责传输过程的控制,这种设计可以支持多个客户端同时连接FTP服务器,并具有稳定的优点。 身份验证控制 在用户访问服务器资源前,FTP服务器会要求用户输入账户名称及口令以验证身份。如果允许匿名访问,则用户只管输入“anonymous”为账户名称,而口令将不进行验证
3、。 Name (:jack): jack 200 # 输入用户账号名称 331 Please specify the password. Password: # 输入用户账号口令 30 Login successful. 提供跨平台的数据交换 FTP允许在不同的网络架构或操作系统间传递文件,例如Linux和Windows操作系统之间,因此是极好的跨平台解决方案。 12.2 服务器与客户端数据交换 FTP使用TCP为传输时的通信协议,因此它可提供可信度较高的面向连接的传输,FTP服务器和客户端计算机数据交换的过程如下,图5-2给出了服务器和客户端数据交换过程。 1) FTP客户端使用“三次握手”
4、的方式,来与FTP服务器建立TCP会话。 2) FTP服务器利用TCP 21连接端口传送和接收FTP控制信息,它主要是用来监听客户端的连接请求,在建立连接后,这个连接端口将在会话进行时全程打开。 3) FTP服务器另外使用TCP 20连接端口传送和接收文件,但它会在文件传输后立即关闭。 4) FTP客户端在向FTP服务器提出连接请求时会动态指定一个连接端口号,通常这些客户端指定的连接端口号由1024到65535,因为0到1023已由IANA预先指定给通信协议或其他的服务使用。 5) 在FTP会话建立后,客户端会打开一个连接端口以连接到服务器上的TCP 21连接端口。 6) 当文件开始传输时,客
5、户端会打开另一个连接端口以连接到服务器上的TCP 20连接端口,而且每一次文件传输时,客户端都会打开另一个新的连接端口传送文件。 12.3 FTP架构 FTP是一种客户/服务器架构的通信协议,因此在两台主机间传递文件时,其中一台必须执行FTP服务器软件,例如VSFTP,而另一台则需要执行FTP客户端程序,例如IE 6.0或是ftp命令。一般在文件传递时包含两种形式: 201 下载:文件由FTP服务器传送到客户端。 上传:文件由客户端传送到FTP服务器。 12.4 VSFTP服务器安装 在RHEL 5中,内置的FTP服务器软件为VSFTP,它是Very Secure FTP的缩写,表示它强调的是
6、其安全性控制,可以在操作系统安装时选择安装VSFTP。 由于在默认的情形下,RHEL 5并不会安装VSFTP服务器软件包,因此必须来查找名为“vsftpd”的服务器软件包,使用命令如下。 rootns1 # rpm qa | grep vsftpd 在安装VSFTP服务器后,最简单的启动方法如下: rootns1 # /etc/rc.d/init.d/vsftpd start 正在启动 vsftpd 中的 vsftpd: 确定 如果要停止VSFTP服务器,可以使用以下的命令: rootns1 # /etc/rc.d/init.d/vsftpd stop 正在关闭 vsftpd: 确定 可以利用
7、以下的方法来重新启动VSFTP服务器: rootns1 # /etc/rc.d/init.d/vsftpd restart 正在关闭 vsftpd: 确定 正在启动 vsftpd 中的 vsftpd: 确定 因为FTP服务是服务器相当重要的工作,所以一般应该在引导时自动启动,以节省每次手动启动的时间,并且避免因为忘记启动而导致的服务器停止服务。 要在引导时自动启动VSFTP服务器,可以使用以下的chkconfig命令: rootns1 # chkconfig -level 5 vsftpd on rootns1 # chkconfig -list | grep vsftpd vsftpd 0:
8、关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:打开 6:关闭 202 以上命令表示如果系统执行Run Level 5时,就会自动启动VSFTP服务器,也可以配合-list参数来显示每个运行级别是否自动执行VSFTP服务器。 12.5 测试VSFTP服务器 在完成以上安装、启动及设置步骤后,可以通过telnet命令登录到VSFTP服务器上的21连接端口,以测试VSFTP服务器是否正确启动,以下是一个简单的示例: rootns1 root# telnet 21 Trying 192.168.0.1. Connected to (192.168.0.1). Escape character is
9、 . 220 (vsFTPd 1.2.1) telnet q 在成功安装及启动VSFTP服务器后,客户端可以通过许多工具进行服务器的连接,所以在本小节中,我们将介绍3种最常使用的工具:ftp命令、浏览器以及FTP应用程序。 这些工具的使用方法虽然不同,但是都可达到文件传输的功能,建议读者应该熟悉最适合自己的工具,以便日常工作的需要。 12.6 FTP命令 通常大部分的网络操作系统,例如Linux或Windows系统,都支持FTP命令的使用,它最大的好处是不需要额外安装任何软件,所有的FTP命令都由操作系统直接支持。 虽然FTP命令不如使用浏览器或FTP应用程序等图形化工具一样容易上手,但是它可
10、通过交互式的访问方法来和FTP服务器通信,例如请求FTP服务器列出某一目录中的文件列表,或是使用二进制文件进行传输,因此仍不失为一种极好的FTP工具。首先打开终端窗口,并且输入以下格式的命令: 203 ftp 服务器名称或IP地址 在连接到VSFTP服务器后,输入账户名称和口令后即可登录服务器,以下是连接后的内容: jackns1 $ ftp # 输入服务器地址 Connected to . 220 (vsFTPd 2.0.4) # 服务器版本 530 Please login with USER and PASS. 530 Please login with USER and PASS. K
11、ERBEROS_V4 rejected as an authentication type Name (:jack): jack # 输入用户账号名称 331 Please specify the password. Password: # 输入用户账号口令 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp # 成功登录VSFTP服务器 除了直接使用ftp命令之外,也配合open命令来连接FTP服务器,以下是连接的示例内容: jackns1 $ ftp ftp o
12、pen (to) Connected to . 204 在成功登录VSFTP服务器后,可以在ftp提示符号下输入“?”,以列出所有可用的命令,如果仅要查询某一命令的说明,则在“?”后直接加上命令名称即可。 ftp ? # 列出所有可用命令 Commands may be abbreviated. Commands are: ! cr mdir proxy send $ delete mget sendport site account debug mkdir put size append dir mls pwd status ftp get # 查看一个命令说明 get receive fi
13、le 以上是所有ftp支持的命令,有些和Windows或MS-DOS操作系统上的命令用法相同,如果有兴趣可以逐一查询它们的用法,本书在此仅整理较为常用的ftp命令,以供读者参考。 ?:显示命令名称及说明。 !:表示执行本机命令,例如dir是显示ftp服务器上的目录内容, 但是!dir则会显示客户端计算机的目录内容。 ascii:以ASCII模式进行传输,一般用来传送纯文本文件。 binary:以二进制模式进行文件传输,一般用来传送非纯文本文件。 bye:结束ftp传输模式。 cd:切换ftp服务器上的目录。 close:关闭ftp服务器。 debug:修改为调试模式。 205 delete:删
14、除远程主机上的文件。 dir:显示目录中的文件及子目录列表。 get:下载一个文件。 hash:以“#”符号表示目前文件传送的进度。 lcd:切换到ftp客户端计算机上的目录。 ls:显示目录中的文件及子目录列表。 mdelete:删除多个远程主机上的文件。 mget:下载多个文件。 mkdir:添加子目录。 mput:上传多个文件。 open:打开ftp服务器。 prompt:文件传输前出现提示字符串。 put:上传一个文件。 pwd:显示目前目录名称。 quit:离开FTP服务器。 rmdir:删除子目录。 rename:将文件重新命名。 rmdir:删除远程主机上的目录。 status:
15、显示目前的状态信息。 type:设置文件传输模式。 user:传送用户账户信息。 综合以上的命令,在此提供一个示例,其中包含许多常用命令,读者不妨多加练习,以增加命令的熟练度。 ftp ls -al # 显示目录中的所有文件及子目录列表 227 Entering Passive Mode (192,168,0,118,83,73) 150 Here comes the directory listing. drwx- 16 500 500 4096 Mar 24 00:35 . drwxr-xr-x 3 0 0 4096 Mar 22 14:31 . 206 -rw- 1 500 500 0
16、Mar 23 07:33 .ICEauthority 226 Directory send OK. ftp pwd # 显示目前目录名称 257 “/home/jack” ftp ascii # 以ASCII模式进行传输 200 Switching to ASCII mode. ftp !mkdir public # 添加客户端子目录 ftp lcd public # 切换到客户端上的目录 Local directory now /home/jack/public ftp get 5-4.tif 227 Entering Passive Mode (192,168,0,118,83,73) 1
17、50 Opening BINARY mode data connection for 5-4.tif (68334 bytes). WARNING! 397 bare linefeeds received in ASCII mode File may not have transferred correctly. 226 File send OK. 68334 bytes received in 0.024 seconds (2.8e+03 Kbytes/s) ftp binary # 以二进制模式进行传输 200 Switching to Binary mode. ftp bye # 结束f
18、tp传输模式 221 Goodbye. jackns1 $ 207 12.7 浏览器 浏览器是一般人上网时不可或缺的工具,但除了网页浏览的功能外,它也是连接FTP服务器最方便的客户端工具之一。使用浏览器进行FTP服务器的连接和浏览网页的方式很相似,惟一不同的是,必须在链接的URL前加入ftp:/,而不是WWW所使用的http:/,以IE 6.0连接到FTP服务器,在此画面中出现许多文件夹图标,如果用户具有足够的权限,则可利用鼠标拖放的方式,在客户端计算机和服务器之间传递数据。 匿名是指用户如果以anonymous为登录的账户名称,并且以电子邮件地址为口令,则客户端就可与服务器建立连接,以访问文
19、件和程序等。 通过匿名账户名称的使用,用户可以越过安全性检查,访问远程服务器上的资源,而目前的浏览器都已具备默认为匿名访问的功能,因此用户并不需额外输入账号数据,就可对服务器进行访问。 匿名访问在FTP服务器的管理上相当方便,因为根据默认值,所有的用户都可通过此账号来读取指定共享目录中的文件,同时也可进行下载的工作。但是并不允许匿名账号进行上传,因为此目录为所有用户所共享,如果允许写入的权限,则用户不仅可以在此目录中写入文件,更可将所有文件删除,这可能会造成服务器管理上的弊端。 如果要解决以上的问题,仍需要求客户端使用个人的账号进行登录,在成功登录后,浏览器自动将连接到用户主目录,同时对此目录
20、也拥有完全的访问权限,例如读取、写入或执行等。 如果要在浏览器中输入用户账号名称及口令等信息,必须使用以下格式网址:ftp:/用户名称:口令FTP服务器地址。输入以上信息时注意一点,在“用户名称”和“口令”间需以冒号连接,同时在此之间不可有空白,否则会导致连接失败。假设服务器和用户的信息如下: 用户名称:caroline。 口令:lovely。 FTP服务器地址:。 如果要满足以上的要求,则需在浏览器中输入以下的网址ftp:/caroline: 208 lovely。 12.8 FTP程序 除了使用ftp命令和浏览器之外,在连接VSFTP服务器时,还有第三种选择FTP程序,目前专为FTP开发的
21、软件有很多,例如CuteFTP、WS-FTP或Bullet Proof FTP等。 12.9 vsftp服务器配置 在进行VSFTP服务器的内容管理时,主要凭借的配置文件为/etc/vsftpd/vsftpd.conf,其中包含许多重要的设置项目,建议仔细阅读其中的内容,以使VSFTP服务器发挥最大的功能与安全性。本节将着重在服务器管理 时的选项及设置说明,有关用户的管理选项,下个小节中说明。 设置文件中的每一行都表示一个命令,而如果以“#”开头,则属于批注文本,因此会被服务器所忽略,以下是命令的格式: 选项=设置值 以上语法很简单,惟一需注意的是,在“选项”和“设置值”之间,必须使用“等号”
22、加以连接,但是在等号两端都不可包含空白,否则会出现错误信息,同时每个命令都存在一个默认值。 布尔值选项 所谓的布尔值选项,是指在语法中的“设置值”部分为布尔值,也就是说可能的值只有两种:YES与NO。以下是属于布尔值选项的说明: * ascii_download_enable 如果启用此选项,表示文件在下载时会以ASCII的形式进行,默认不启用此选项。 * ascii_upload_enable 如果启用此选项,表示文件在上传时会以ASCII的形式进行,默认不启用此选项。 * async_abor_enable 如果启用此选项,表示会启用名为“async ABOR”的FTP命令,因为有时停用此
23、209 选项会引起客户端的连接问题,因此可视情况来启用,但默认不启用此选项。 * check_shell 这个选项仅适用于利用非PAM形式建立的VSFTP服务器,如果停用此选项,则VSFTP将不再利用/etc/shells文件来检查本机登录的用户账号正确性,默认会启用此选项。 * connect_from_port_20 如果启用此选项,则表示所有FTP传递的DATA都会通过连接端口20来进行,默认会启用此选项。 * hide_ids 如果启用此选项,则目录中所有文件的所有者及群组信息都会显示为ftp,例如使用ls -al命令时,默认不启用此选项。 * listen 如果启用此选项,则表示VS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十二章 FTP服务器配置 第十二 FTP 服务器 配置
链接地址:https://www.31ppt.com/p-3123857.html