第 17讲 FTP服务器
杨忠义
学习内容
17.1 FTP概述
17.2 Linux环境下的 FTP服务器
17.3 FTP服务器的启动与配置
17.4 FTP客户端的常用命令
17.5 FTP客户端软件的配置方法
学习目标
本课主要讲解 FTP服务器的安装、配置和
使用方法。通过对本课的学习,我们应该:
掌握 Linux中 FTP服务器的配置方法, FTP
客户端常用命令的使用方法 。
熟悉在不同系统中 FTP客户端常用软件的
与 FTP服务器的连接方法 。
第 17讲 FTP服务器
17.1 FTP概述
17.2 Linux环境下的 FTP服务器
17.3 FTP服务器的启动与配置
17.4 FTP客户端的常用命令
17.5 FTP客户端软件的配置方法
17.1 FTP概述
1,FTP协议概述
FTP是 TCP/IP的一种具体应用, FTP工作在
OSI模型的第七层, TCP模型的第四层上, 即应
用层, FTP使用的是传输层的 TCP传输而不是
UDP,这样 FTP客户在和服务器建立连接前就要
经过一个被广为熟知的, 三次握手, 的过程, 其
意义在于客户与服务器之间的连接是可靠的, 为
数据的传输提供了可靠的保证 。
2,什么是 FTP协议
FTP 是 TCP/IP 协议族中的一个协议,
是英文 File Transfer Protocol的缩写。该
协议定义的是一个在远程计算机系统和本
地计算机系统之间传输文件的一个标准,
是 Internet文件传送的基础。
3,FTP的基本工作原理
( 1)打开熟知端口(端口号为 21),使客户进
程能连接上;
( 2)等待客户进程发起连接建立请求;
( 3)启动从属进程来处理客户进程发来的请求。
从属进程对客户进程的请求处理完毕后即终止,
但从属进程在运行期间根据需要还可能创建其他
一些子进程。
( 4)回到等待状态,继续接受其他客户进程发
来的请求。主进程与从属进程的处理是并发地进
行。
4,FTP用户授权
FTP地址如下:
ftp://用户名:密码 @FTP服务器 IP或域名,FTP
命令端口 /路径 /文件名
上面的参数除了 FTP服务器 IP(或域名)为必要
项外,其他项都是可有可无的。如以下地址都
是有效 FTP地址:
ftp://ftp.whpu.edu.cn
ftp://lb:123456@ ftp.whpu.edu.cn
ftp:// lb:123456@ ftp.whpu.edu.cn
ftp:// lb:123456@
ftp.whpu.edu.cn:2003/soft/demo.doc
互连网中大多数 FTP 服务器都支持
,匿名, ( Anonymous)登录。这类服
务器的目的是向公众提供文件拷贝服务,
不要求用户事先在该服务器进行登记注
册,也不用取得 FTP服务器的授权。
5,FTP的传输模式
( 1) ASCII传输方式
( 2)二进制传输模式
第 17讲 FTP服务器
17.1 FTP概述
17.2 Linux环境下的 FTP服务器
17.3 FTP服务器的启动与配置
17.4 FTP客户端的常用命令
17.5 FTP客户端软件的配置方法
17.2 Linux环境下的 FTP服务器
1,Wu-ftpd
2,ProFTPD
3,vsftpd
第 17讲 FTP服务器
17.1 FTP概述
17.2 Linux环境下的 FTP服务器
17.3 FTP服务器的启动与配置
17.4 FTP客户端的常用命令
17.5 FTP客户端软件的配置方法
17.3 FTP服务器的启动与配置
1,FTP服务器的安装与启动
在进行 DNS服务器配置之前, 首先
要检查系统中是否安装了 BIND域名服务
器, 检查的方法可使用下面的命令:
# rpm –qa | grep vsftpd
可使用下面的命令来进行 BIND域名服务器
的启动和停止 。
# service vsftpd start
# service vsftpd stop
# service vsftpd restart
下面的命令是用来检查 vsftpd是否被启动:
# pstree | grep vsftpd
17.3 FTP服务器的启动与配置
2,vsftpd的默认配置文件
#是否允许匿名 ftp,如否则选择 NO
anonymous_enable=YES
# 是否允许本地用户登录
local_enable=YES
# 是否开放本地用户的写权限
write_enable=YES
# 设置本地用户的文件的掩码是 022,默认值是 077
local_umask=022
#是否允许匿名用户上传文件
#anon_upload_enable=YES
#
# 是否允许匿名用户创建新的文件夹
#anon_mkdir_write_enable=YES
#
# 是否显示目录说明文件,默认是 YES但需要手工创
建,message文件
dirmessage_enable=YES
#
# 激活上传下载日志
xferlog_enable=YES
#
2,vsftpd的默认配置文件
# 启用 FTP数据端口的连接请求 (ftp-data).
connect_from_port_20=YES
#
# 是否改变上传文件的属主,如果是需要输入一个系统
用户名,可以把上传的文件都改成 root属主
#chown_uploads=YES
#chown_username=whoever
#
# 传输日志的路径和名字默认是 /var/log/vsftpd.log
#xferlog_file=/var/log/vsftpd.log
#
2,vsftpd的默认配置文件
2,vsftpd的默认配置文件
# 是否使用标准的 ftp xferlog模式
xferlog_std_format=YES
#
#设置默认的断开不活跃 session的时间
#idle_session_timeout=600
#
# 设置数据传输超时时间
#data_connection_timeout=120
#运行 vsftpd需要的非特权系统用户默认是 nobody
#nopriv_user=ftpsecure
# 是否使用 ascii码方式上传和下载文件
#ascii_upload_enable=YES
#ascii_download_enable=YES
2,vsftpd的默认配置文件
# 定制欢迎信息
#ftpd_banner=Welcome to blah FTP service.
#
# 是否允许禁止匿名用户使用某些邮件地址, 如果是,
输入禁止的邮件地址的路径和文件名
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#
#是否将系统用户限止在自己的 home目录下,如果选择
了 yes那么 chroot_list_file=/etc/vsftpd.chroot_list中列
出的是不 chroot的用户的列表
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
# 设置 PAM认证服务的配置文件名称, 该文件存放
在 /etc/pam.d/目录下
pam_service_name=vsftpd
# 由 于 默 认 情 况 下 userlist_deny=YES,所以
/etc/vsftpd.user_list文件中
#所列出的用户不允许访问 vsftpd服务器 。
userlist_enable=YES
#使 vsftpd处于独立启动模式
listen=YES
#使用 tcp_wrappers作为主机的访问控制方式
tcp_wrappers=YES
2,vsftpd的默认配置文件
3,修改 vsftpd的默认配置
具体的步骤如下:
( 1)修改 /etc/vsftpd/vsftpd.conf配置文件,激活
以下两项,即在原文件以下两行前的, #, 去掉。
anon_upload_enable=YES
//允许匿名用户上传
anon_mkdir_write_enable=YES
//允许匿名用户创建新目录
3,修改 vsftpd的默认配置
( 2)在原配置文件中添加下面一行,目的是开
放匿名用户的浏览权限。
anon_world_readable_only=NO
如果允许匿名用户对服务器上的文件或文件夹有
更名或删除操作的权限,还需在配置文件中添加
下面一行:
anon_other_write_enable=YES
3,修改 vsftpd的默认配置
( 3) 开放本地用户写的权限必须打开 。
Write_enable=YES
( 4) 修改完配置文件并存盘后, 使用下面的命令重
新启动 vsftpd服务 。
# service vsftpd restart
( 5) 修改匿名用户上传目录的权限, 匿名用户的默
认目录是, /var/ftp/pub”。 可使用下面的命令修改:
# chmod +777 /var/ftp/pub
第 17讲 FTP服务器
17.1 FTP概述
17.2 Linux环境下的 FTP服务器
17.3 FTP服务器的启动与配置
17.4 FTP客户端的常用命令
17.5 FTP客户端软件的配置方法
17.4 FTP客户端的常用命令
1,与某个 FTP服务器建立连接
FTP服务器
FTP帐户名
FTP帐户密码
2,列出 FTP服务器上的目录,
在提示符, ftp>”下, 执行, ls”或, dir”命
令后, 屏幕会显示当前目录下的文件或子目
录 。 显示格式与 Linux命令提示行所显示的
某个目录文件方式完全相同 。
3,改变当前目录
在提示符, ftp>”下,执行, cd”或
,pwd”命令,可以查看当前目录;执行
,cd..”命令可以进入上一级目录;执行
,cd 子目录名, 命令,可以进入子目录,
例如,输入, cd mail”,表示进入当前目
录下的, mail”子目录。
4,一般文件传送
( 1) 下载单个文件
get命令能从远程计算机上下载一个文件, 其
命令格式如下:
get 源文件名 目标文件名
( 2) 下载多个文件
mget命令是从远程计算机取多个文件, 命令
格式为:
mget 源文件列表
( 3) 上传单个文件
将本地计算机的文件传送到远程计算机上,
其命令格式为:
put 源文件名 目标文件名
( 4) 上传多个文件
mput命令可以将本地计算机的多个文件一
起送到远程主机 。 其命令格式为:
mput 文件名列表
第 17讲 FTP服务器
17.1 FTP概述
17.2 Linux环境下的 FTP服务器
17.3 FTP服务器的启动与配置
17.4 FTP客户端的常用命令
17.5 FTP客户端软件的配置方法
17.5 FTP客户端软件的配置方法
1,Windows系统下的 FTP客户端软
件的配置方法
以 CuteFTP软件为例
2,Linux系统下的 FTP客户端软件的配
置方法
以 gGET为例
小结
本课我们学习了 FTP服务器的配置方法 。 介绍
了 FTP协议的工作原理, Linux中 FTP服务器的配
置方法, FTP客户端常用命令的使用方法, 在不同
系统中 FTP客户端常用软件的与 FTP服务器的连接
方法 。
作业
1,什么是文件传输服务?什么是“下载”和
“上传”?
2,如何在匿名 FTP服务器上设置用户上传功
能?