RHEL 5服务篇—部署FTP文件传输服务(一)

简介:

部署FTP文件传输服务(一)

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主机访问控制

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

152203619.jpg

常见本地用户配置项如下:

152254784.jpg

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


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

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

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

154210729.jpg

在上述配置内容中。使用了“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命令工具直接下载文件,省出了交互式的登录过程。



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1201903,如需转载请自行联系原作者

相关文章
|
2月前
|
监控 Ubuntu 安全
Ubuntu开启FTP服务教程
在Ubuntu服务器上配置FTP服务是一个常见的需求,无论是用于文件分享、网站管理还是数据备份。FTP(文件传输协议)是一种用于在网络上传输文件的协议,它可以让用户通过身份验证下载或上传文件。本文将指导您如何在Ubuntu系统上安装和配置FTP服务器,以及如何管理用户权限来保证服务器的安全性。
237 0
|
2月前
|
安全 算法 网络协议
【Linux】文件服务FTP(File Transfer Protocol)
【Linux】文件服务FTP(File Transfer Protocol)
69 0
|
2月前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
|
2月前
|
Linux 网络安全 数据安全/隐私保护
FTP 文件传输服务
FTP 文件传输服务
|
2月前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
90 1
|
2月前
|
弹性计算 Ubuntu
Ubuntu 20.04安装FTP服务
以阿里云ECS为服务器,搭建FTP服务并在本机使用FileZilla连接服务。
477 2
|
2月前
|
Docker 容器
docker 安装ftp服务
docker 安装ftp服务
137 0
|
8月前
|
Linux
手把手教你Linux下搭建ftp服务
手把手教你Linux下搭建ftp服务
191 1
|
2月前
|
安全 网络协议 Linux
哇~~真的是你呀!今天是LINUX中的FTP服务
FTP(File Transfer Protocol,文件传输协议)是一种用于在计算机网络中传输文件的标准协议。它允许用户从一个计算机(称为FTP客户端)向另一个计算机(称为FTP服务器)发送和接收文件。 以下是FTP服务的一些关键特点和功能:
54 0
|
8月前
|
Linux 网络安全 开发工具
如何在linux搭建FTP服务
如何在linux搭建FTP服务
72 0

相关实验场景

更多