FTP典型的C/S结构的应用层协议,需要有服务端软件和客户端软件两个部分共同实现文件传输功能。

1、FTP连接及传输模式

FTP服务器默认使用TCP协议的20、21端口与客户机进行通信。20端 口用于建立数据连接。并传输文件数据;21端口用于建立控制连接,并传输FTP控制命令。

主动模 式:服务器主动发起数据连接。首先由客户端向服务端的21端口建立FTP控制连接,当需要传输数据时, 客户端以ROTR命令告知服务器”我打开了某端口,你来连接我“,于是服务器从20端口向客户端的该端口 发送请求并建立数据连接。

被动模式:服务器被动等待数据连接。首先由客户端向服务端的21端 口建立FTP控制连接,当需要传输数据时,服务器以PASV命令告知客户端”我打开了某端口,你来连接我 “。于是客户端向服务器的该端口(非20)发送请求并建立数据连接。

2、FTP用户类型

匿 名用户:其用户名为ftp或anonymous,提供任意密码(包括空密码)都可以登录ftp。

本地用户: 直接使用本机系统用户账号来登录ftp。

虚拟用户:使用ftp服务器软件独立的用户数据库文件中 的虚拟用户登录ftp。

3、vsftpd的配置文件

安装vsftpd可使用rpm命令,vsftpd软件在系 统光盘中的Server目录下。

[root@localhost /]#rpm -ivh /media/Server/vsftpd-2.0.5- 12.el5.i386.rpm

vsftpd的配置文件默认在”/etc/vsftpd/”目录下,包括用户列表文件 (ftpusers、user_list)和主配置文件(vsftpd.conf)等。

用户列表配置文件

ftpusers :此文件中列出的用户将禁止登录vsftpd服务器,不管该用户是否在user_list文件中出现。

user_list :此文件中包含用户可能被禁止登录,也可能被允许登录,具体取决于主配置文件 vsftpd.conf中的设置。

主配置文件vsftpd.conf

在vsftpd的主配置文件中,配置行采用“ 配置项=参数”的格式。

常见全局配置项如下:

listen=YSE                            :是否以独立运行 的方式监听服务

listen_address=0.0.0.0         :设置监听FTP服务的 IP地址

listen_port=21                       :设置监听FTP服务的端口号

write_enable=YES                :启用任何形式的写入权限,需要开启

download_enable=YES         :是否允许下载,需要开启

dirmessage_enable=YSE     :用户切换进入目录是显示.message(如果存在)文件的内容

xferlog_enable=YES              :启用xferlog日志,默认记录到 “/var/log/xferlog”

xferlog_std_format=YES       :启用xferlog标准日志 格式,若禁用此项将使用vsftpd自己的格式。

connect_from_port_20=YES :允许服务器主动模式 (从20端口建立数据连接)

pasv_enable=YES                 :允许被动模式连接

pasv_max_port=24600          :设置用户被动模式的服务器最大端口

pasv_min_port=24500           :设置用户被动模式的服务器最小端口

pam_service_name=vsftpd   :设置 用于用户认证的PAM文件位置

userlist_enable=YES             :是否启用suer_list用户类表文件

userlist_deny=YES                :是否禁止user_list列表文件中的用户账号

max_clients=0                       :最多允许多少 个客户端同时连接(0无限制)

max_per_ip=0                        :对于来自同一个IP地址的客户端。最多允许多少个并发 连接(0无限制)

tcp_wrappers=YES               :是 否启用TCP_Wrappers主机访问控制

常见匿名用户配置项如下:


关于vsftpd.conf文件中的 更多配置项,可执行“man vsftpd.conf”命令查看相关的帮助。

4、搭建匿名FTP访问的目录

搭建匿名访问的FTP需要修改配置文件“vsftpd.conf”,修改如下:

[root@localhost /]#vim /etc/vsftpd/vsftpd.conf

在上述配置内容中。使用了“anon_umask”配置项,此配置项用于设置匿名用户所上传文件或目录的权限权限掩码。权限掩码的作用与子网掩码的作于有点类似,用于去掉特定的权限。列如:若上传权限掩码设为022,则所上传的文件或目录将减去022对应的这不分权限,实际结果是所上传文件的默认权限为 644、目录的实际权限是755。

默认匿名用户访问的FTP根目录在“/var/ftp”下,匿名用户的上传下载权限取决于本地权限加上FTP的权限,也就是说如果要实现匿名用户上传文件,在FTP根目录下必须有匿名用户ftp可以写入的目录,否则将不能够上传文件,哪怕是在配置文件中允许了匿名用户上传选项也 不能上传。

修改完配置文件后,启动vsftpd服务即可在客户端访问了。

[root@localhost /]#service vsftpd start

5、搭建本地用户验证的FTP访问目录

搭建本地用户访问的FTP也 需要修改“vsftpd.conf”配置文件,修改如下:

[root@localhost /]#vim /etc/vsftpd/vsftpd.conf

local_enable=YES                 --启用本地系统用户

write_enable=YES                --启用服务器的写入权限

local_umask=077                 --权限掩码设为077,及上传的文件和目录只有属主才有权限

chroot_local_user=YES       --将用户禁锢在宿主目录下,否则用户将能够任 意切换到服务器的/var,/etc,/boot...等目录下

......省略部分内容

默认本地用户访问的 FTP根目录也在“/var/ftp”下。

修改完配置文件后,重新加载vsftpd服务的配置文件即可在客户 端访问了。

[root@localhost /]#service vsftpd reload

6、Linux客户端访问FTP

在客户端访问ftp可以是专门的ftp客户端工具,也可以使用ftp命令来访问,在Linux下使用ftp命令还是 较多一些。

格式 ftp [目标ip地址]

[root@localhost /]#ftp 192.168.1.1

输入正 确的用户名和密码就可以访问ftp了,如果是匿名用户输入ftp或anonymous,空密码即可登录ftp了。

登录ftp后可以使用cd命令切换不同的目录,使用lcd可以切换本机的目录。

使用ls可以查 看ftp中的文件或目录,使用pwd可以显示ftp的路径,使用!ls可以查看本机的目录,使用!pwd可以查看本 机的路径。

使用get命令可以下载,使用put命令可以上传,mget下载多个文件或目录,mput上传 多个文件或目录。

在知道要下载的完成URL路径地址的情况下,用户也可以使用wget命令工具直接 下载文件,省出了交互式的登录过程。

[root@localhost /]#wget ftp://192.168.1.1/put/linux_qq.tar.gz


注塑机http://www.u69cn.com/subject/zhusuji.html

  http://www.u69cn.com/subject/jiage/zhusuji.html

http://www.u69cn.com/subject/changjia/zhusuji.html
01-07 02:50