FTP服务器的搭建(Linux)

这篇具有很好参考价值的文章主要介绍了FTP服务器的搭建(Linux)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要:

FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。虽然现在通过HTTP协议下载的站点有很多,但是由于FTP协议可以很好地控制用户数量和宽带的分配,快速方便地上传、下载文件,因此FTP已成为网络中文件上传和下载的首选服务器。同时,它也是一个应用程序,用户可以通过它把自己的计算机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP服务的功能是实现完整文件的异地传输。特点如下: 

(一)FTP使用两个平行连接:控制连接和数据连接。控制连接在两主机间传送控制命令,如用户身份、口令、改变目录命令等。数据连接只用于传送数据。 

(二)在一个会话期间,FTP服务器必须维持用户状态,也就是说,和某一个用户的控制连接不能断开。另外,当用户在目录树中活动时,服务器必须追踪用户的当前目录,这样,FTP就限制了并发用户数量。 

(三)FTP支持文件沿任意方向传输。当用户与一远程计算机建立连接后,用户可以获得一个远程文件也可以将一本地文件传输至远程机器。

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器 。

一、FTP服务器的概述

1、FTP服务器的作用

FTP服务器是一种提供文件传输服务的服务器,它的作用主要包括以下几点:

(1)存储文件:FTP服务器可以存储需要传输的文件,用户可以通过FTP客户端连接到FTP服务器,并上传或下载需要的文件。

(2)管理文件:FTP服务器可以管理文件,例如创建、删除、重命名等操作。

(3)提供文件访问权限控制:FTP服务器可以对文件进行访问权限控制,例如限制用户的访问权限、控制用户的上传和下载权限等。

(4)提供匿名访问:FTP服务器可以提供匿名访问,允许用户通过FTP客户端进行匿名的文件传输。

(5)监控文件传输情况:FTP服务器可以记录和监控文件传输情况,例如记录文件传输的日志信息,以便进行后续的审计和管理。

(6)支持多用户同时传输:FTP服务器可以支持多个用户同时进行文件传输,以提高文件传输的效率。

(7)网络备份:FTP服务器可以作为网络备份的存储服务器,用于备份公司或组织的重要数据。

(8)虚拟主机:FTP服务器可以作为虚拟主机,提供Web服务器、邮件服务器等服务。

(9)软件分发:FTP服务器可以作为软件分发服务器,将软件发布到FTP服务器上供用户下载。

(10)文件归档:FTP服务器可以作为文件归档服务器,存储历史文件,方便用户进行查阅和调取。

(11)文件同步:FTP服务器可以作为文件同步服务器,用于在不同的地点或网络之间同步文件。

2、FTP的系统组成

FTP服务器系统由服务器软件、客户端软件和FTP通信协议组成。FTP服务器常见的软件:vsftpd、wu-ftpd、Proftpd、微软 IIS FTP、Serv-U等。

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

3、FTP服务器的工作过程

一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种实现真正的文件传输,称为数据连接。
(1)控制连接
客户端希望与FTP服务器建立上传下载的数据传输时,它首先向服务器的TCP21端口发起一个建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,这样的连接就称为FTP 控制连接
(2)数据连接
FTP 控制连接建立之后,即可开始传输文件,传输文件的连接称为FTP数据连接。FTP数据连接就是FTP传输数据的过程,它有两种传输模式:主动模式(PORT/standard)和被动模式
(PASV)。

主动模式:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

 被动模式:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

二、FTP服务器的搭建

FTP服务器搭建前的准备:

FTP服务器的搭建与DNS服务器的搭建息息相关,如果未搭建DNS服务器见文章:

https://mp.csdn.net/mp_blog/creation/editor/129963557

其中DNS服务器的配置文件需要更改一点:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

 打开正向配置文件,做一些更改--

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

systemctl restart named   //重启DNS服务 

FTP客户端的网卡也许谨慎配置(DNS服务器为FTP客户端解析域名或IP地址)--

FTP客户端的网卡配置-

[root@Server ~]# cd /etc/sysconfig/network-scripts/
[root@Server network-scripts]# 
[root@Server network-scripts]# vim ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.1.10
GATEWAY=192.168.1.2
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=721bf751-0fac-4c74-9ade-9f591c0f5ebf
DEVICE=ens33
ONBOOT=yes
DNS1=192.168.1.10
 

1、安装FTP软件

服务端:yum install vsftpd
客户端: yum install ftp

2、启动ftp服务

systemctl start vsftpd     //开启FTP服务
systemctl enable vsftpd    //设置FTP开机自启动
systemctl status vsftpd    //查看FTP服务的状态

3、防火墙设置

firewall-cmd --list-all   //查看防火墙已经允许通过的服务
firewall-cmd --permanent --add-service=ftp   //在防火墙中添加允许通过的FTP服务
firewall-cmd --reload      //重新加载防火墙,使新添加的防火墙策略生效

4、配置本地用户

不限制在自己根目录的用户(根目录--/home/用户名/)

FTP服务器端:
adduser user1  //添加普通用户
passwd user    //设置user1用户的密码
echo "user1_file" > /home/user1/user.txt   //创建测试文件(用来下载),并写入内容
mkdir /var/ftp/public    //创建测试目录

FTP客户端:
echo "test_file" > test1.txt   //创建测试文件(用来上传),并写入内容

客户端测试:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

 那么如何做到在除了家目录的其他目录上传文件呢?看如下操作:(以 /var/ftp/public 为例)

FTP服务器端:
chmod o+w /var/ftp/public  //给予其他用户对 /var/ftp/public 目录的写权限
chcon -t public_content_rw_t /var/ftp/public   //如果你想让你设置的FTP目录可以上传文件的 
                                                 话,SELINUX需要设置
setsebool -P ftpd_full_access on    //修改布尔值状态,开放FTP访问
getsebool -a | grep ftp             //过滤与FTP相关的布尔值信息
”
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on    //开启即可
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
”

客户端测试:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

限制在自己根目录的用户(根目录---/home/用户名/)

adduser webadmin  //添加普通用户
passwd webadmin   //设置普通用户webadmin的密码
mkdir /webdata/   //创建目录(该目录将用来作为用户webadmin的根目录)
chmod o+w /webdata/    //给予其他用户对 /var/ftp/public 目录的写权限
echo "webadmin_file" > /webdata/webadmin.txt    //创建测试文件(用于上传),并写入内容

vim /etc/vsftpd/vsftpd.conf  //配置FTP服务器的主配置文件,修改和添加的内容放在代码外部

vim /etc/vsftpd/chroot_list
“
webadmin
”
systemctl restart vsftpd        //重启FTP服务

getsebool -a | grep ftp         //过滤与FTP相关的布尔值信息
“
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on //开启即可,如果为off则多敲一条命令:setsebool -P ftpd_full_access on                        
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
“

vim /etc/vsftpd/vsftpd.conf  //FTP服务器的主配置文件配置

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

客户端测试:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

在此基础上,我们还可以拓展FTP服务器的功能:

①禁止上传后缀名为.doc .docx .xlsx 的文件;

②限制用户的下载最大速度为100kb/s;

③最大同一IP在线人数为2人;

④一个IP地址同时登陆的用户进程/人数不超过2人。 

FTP服务器端:
vim /etc/vsftpd/vsftpd.conf   //配置FTP服务器主配置文件,在文件末尾添加内容
”
local_max_rate=100000         //限制用户的下载最大速度为100kb/s
max_per_ip=2                   //最大同一IP在线人数为2人
max_clients=2                 //一个IP地址同时登陆的用户进程/人数不超过2人
deny_file={*.doc,*.docx,*.xlsx}   //禁止上传后缀名为.doc .docx .xlsx 的文件

“

systemctl restart vsftpd   //重启FTP服务

 客户端测试:

touch doc_file.doc  //创建后缀名为.doc的测试文件

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

为了保证客户端和服务器之间传输数据的保密性和完整性,可以使用SSL/TLS协议加固FTP服务器。

FTP服务器端:
vim /etc/vsftpd/vsftpd.conf    //编辑FTP服务器的主配置文件,在文件末尾添加内容
”
userlist_enable=YES
tcp_wrappers=YES
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_private_key_file=/etc/ssl/serverkey1/vsftpd.pem
rsa_cert_file=/etc/ssl/serverkey1/vsftpd.pem
allow_anon_ssl=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES
“

客户端测试:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

那么,如何安全地登陆到FTP服务器端 ?

yum install epel-release filezilla -y //在FTP客户端安装filezilla软件

细节提醒:
重复安装两次,因为第一次是初始化,第二次才是正常的安装。

安装完后会显示图标:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

点击软件FileZilla,进入内部

①打开站点管理器

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

②先新建站点,写入站点信息,最后点击连接

这里是用IP地址登陆--

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

也可以用域名登陆--

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

③输入密码

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

连接成功:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

 这里依然可以进行文件的上传和下载:

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

linux搭建一个ftp服务器,Linux服务器技术与应用,服务器,linux,网络

至此,FTP服务器搭建完成!文章来源地址https://www.toymoban.com/news/detail-715851.html

到了这里,关于FTP服务器的搭建(Linux)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LINUX通过vsftpd搭建FTP服务器 ( 最快 最直接的方式)

    这里只说最快最直接的方式,至于后面的权限配置,我就不写了。百度一大把 这里只记录成功将文件从MACBOOK通过FTP传到UBUNTU的过程 1.安装vsftpd sudo apt install vsftpd 2.查看服务状态,启动,停止等 systemctl status|start|stop vsftpd.service 基于systemctl的单元服务操作,不多说,都懂 3.Vstp配

    2024年02月10日
    浏览(33)
  • windows搭建一个FTP服务器超详细

    在开发过程中需要FTP文件上传下载功能,需要在本地或者服务器上搭建一个FTP服务器。 1. 安装FTP服务器支持和配置IIS web服务器 打卡“启动关闭Window功能” 控制面板=程序=启动或关闭Windows功能 或者选择快捷方式执行命令打开按【Win + R】快捷键打开运行对话框,输入“option

    2024年02月17日
    浏览(42)
  • Linux中搭建FTP服务器,匿名用户访问、本地用户访问、虚拟用户访问(详细解答安装配置步骤)

    对于Linux搭建服务器步骤详解:可以基于匿名访问、本地用户访问、虚拟用户访问 FTP服务访问可分为三种 匿名用户:用户名为ftp或者anonymous,提供任意密码或无密码访问即可. 本地用户:要求有用户名和相对应密码,适用于使用者都是使用此服务器的人。 虚拟用户(出于安全

    2024年02月10日
    浏览(50)
  • 【Linux】FTP文件服务器

    FTP (File transfer protocol) 是TCP/IP 协议组中的协议之一。他最主要的功能是在服务器与客户端之间进行文件的传输。FTP就是实现两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载 (download)”文件。将文件从自己计算机中拷贝至远程计算机上,则称

    2024年02月10日
    浏览(43)
  • FTP服务器移植到Linux开发板

    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 将Linux开发板作为一个小型的 FTP 服务器,这样就可以通过 FileZilla 软件直接在开发板和 windows 之间通过网络进行文件互传。在开发板上搭建 FTP 服务器很简单

    2024年02月14日
    浏览(28)
  • Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)

    VSFTPD 实现客户端和服务器之间传输文件 目录 什么是VSFTPD? VSFTPD 的特点和功能 1. 设置和使用FTP服务器的步骤 1. 下载vsftpd包 2. 启动服务 开机自启 3. 关闭防火墙 4. 配置vsftpd服务    常用 配置选项 匿名用户 本地用户 设置进入提示 2.重启vsftpd服务(重点) 3进入 /var/ftp ftp根目

    2024年02月02日
    浏览(35)
  • Windows访问Linux下的FTP服务器(Centos和Uuntu)

    1.下载FTP离线安装包: http: / /rpmfind .net/linux/rpm2html/search .php?query=vsftpd (x86-64 )    选择最后一个 vsftpd-3.0.2-28.el7.x86_64.rpm 2.检查是否已经安装了vsftp rpm -qa | grep vsftpd 出现提示vsftpd版本号则表示已安装,没有则未安装 3.安装vsftpd(推荐离线) 离线安装 rpm -ivh vsftpd-3.0.2-22.el7.x86_

    2024年02月09日
    浏览(28)
  • 如何在 Ubuntu Linux 中设置和使用 FTP 服务器?

    注:本文假设您已在 Ubuntu Linux 系统上安装并配置好了适当的环境。 FTP(文件传输协议)是一种常用的网络协议,用于在客户端和服务器之间进行文件传输。在 Ubuntu Linux 中,您可以设置和使用 FTP 服务器,以便通过网络与其他设备共享文件。本文将详细介绍如何在 Ubuntu Lin

    2024年02月05日
    浏览(37)
  • 如何在LINUX(UBUNTU)实现FTP服务器多用户多权限

    要求 实现两个用户,使得一个student可以上传,下载文件 另一个teacher可以上传,下载,删除文件 首先现在Ubuntu上安装ftp(以下使用vsftp演示) 为了使student用户没有删除的权力,需要做以下更改 ftp服务器配置文件如下

    2024年01月21日
    浏览(30)
  • vsftpd安装配置,Linux系统配置FTP服务器教程(CentOS 7)

    vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件 。今天飞飞将和你分享 Linux 系统 安装并配置vsftpd ,搭建FTP环境 。 先让我们来认识下FTP! FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式: 主动

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包