欢迎来到千汐

 

博客名称:千秋云染
博客网址:https://www.cnblogs.com/skyrainmom

寄语:在混乱不堪的世界里你只管前行,时间替会证明一切

world cookie

Hello,World!

 

FTP服务器:

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的协议。如果用户需要将文件从本机发送到另一台计算机,可以使用FTP上传操作;反之,用户可以使用FTP从其他计算机将文件下载到本机。

FTP不挑操作系统,可支持Windows与Linux,且两大操作系统的FTP服务端口号均为21,客户端端口随机,但PORT >1024。

FTP采用C/S架构,用户通过FTP客户端程序连接到FTP服务器,实现文件传输

1,控制连接(存在传输端口)

FTP客户端希望与FTP服务器建立上传,下载的数据时,它首先向FTP服务器的TCP21号端口发起连接的请求,FTP服务器接受来自FTP客户端的请求,完成控制连接的建立。

2,数据连接(存在数据端口)

控制连接建立后,可以开始传输文件,传输文件数据的连接称为数据连接,数据连接使用TCP20号端口。

注意:数据连接存在的时间段内,控制连接也同时存在,一旦控制连接断开,数据连接也会自动关闭。

FTP的数据传输模式:

1,主动模式(POST)

在主动模式下,客户端随机打开一个端口号大于1024的N号端口,向服务端的21号端口发起连接,并向服务器发出“PORT N+1”命令,同时开放N+1号端口进行监听。服务器接受到该命令后,默认使用服务器的20号端口主动与客户端指定的N+1号端口建立数据连接,进行数据传输。

2,被动模式(PASV)

在被动模式下,客户端随机打开两个端口,分别是端口号大于1024的N号端口和N+1号端口,然后使用N号端口向服务器的21号端口发起连接,并向服务器发出“PASV”命令,通知服务器使用被动模式。服务器收到命令后,开放一个端口号大于1024的P端口进行监听,然后用“PORT P”命令通知客户端自己的数据端口是P。客户端收到指令后,再通过N+1号端口与服务器的P端口建立数据连接,然后进行数据传输

两种模式的不同点及优缺点:

1,主动模式的FTP的控制方向与数据连接方向相反,客户端向服务器建立控制连接,而服务器主动向客户端建立数据连接;被动模式下FTP的控制方向与数据连接方向相同,被动模式中控制连接与数据连接都由客户端发起,服务器只是被动地接受连接。

2,主动模式对于客户端的防火墙来说,数据连接是从外部到内部的连接,可能会被防火墙阻塞;被动模式解决了从服务器主动连接客户端的数据端口被防火墙阻塞的问题,在互联网上,客户端通常没有独立的公网IP地址,服务器主动连接客户端的难度太大,因此,FTP服务器大多采用被动模式。

主动传输:下载文件

被动传输:上传文件

FTP服务器用户:

1,匿名用户

如果FTP服务器提供匿名访问功能,则该类用户可以匿名访问服务器上的某些公开资源。使用匿名用户访问FTP服务器时,使用anonymous或ftp账户及任意口令登录(NULL也行)。匿名用户登录后,默认目录为匿名FTP服务器的根目录(不是系统根目录)。一般情况下,匿名FTP服务器只会提供下载功能,不提供上传功能或上传功能受到一定的限制。

2,本地用户(服务器上创建好的用户)

本地用户在FTP服务器上拥有shell登录用户。该类用户访问FTP服务器时,可以通过

自己的账户和口令授权登录。本地用户登录后,默认目录就是该用户自己的家目录,而且可以变更到其他目录(可以访问宿主目录和其他目录)。本地用户在FTP服务器中既可以下载内容,又可以上传内容。

3,虚拟用户

虚拟用户在FTP服务器上只能访问其主目录中的文件。不能访问其主目录以外的文件(只能访问宿主目录)。由于虚拟用户并非系统中真实存在的用户,仅供FTP服务器认证使用(仅用来进行口令认证),因此,FTP服务器通过这种方式来保障服务器上其他用户的安全。通常,虚拟用户在FTP服务器中即可以下载内容,又可以上传内容。

配置FTP服务:

FTP在Linux中即为vsftpd

1,实现服务器与客户端网路互通,进行Linux的网路配置环节,改网卡配置文件(切换root用户登录,root用户才有改的权限),实现Linux与Windowns互ping,二者ping通即可。

2,配置yum仓库

(1)挂载镜像:进入虚拟机设置连接镜像,终端输入以下命令:mount  /dev/cdrom /media(cdrom后面一定要加空格再加/media或/mnt均可)

(2)创建yum仓库:终端输入以下命令:vim /etc/yum.repo.d/local.repo

写local.repo文件参数:

[local(不唯一,与name后面跟的参数相同即可)]

name=local(上面中括号内对应参数名)

baseurl=file:///media(光盘挂载目录)

gpgcheck=0 (用于校验软件包来源的安全性,0为不校验,1为校验)

enabled=1 (用于设置是否启用该仓库源,0为不启用,1为启用)

(3)清空缓存:终端输入以下命令:yum clean all

(4)检索:终端输入以下命令:yum repolist

3,创建共享文件夹

终端输入以下命令:mkdir /opt/fipdir

4,安装vsftpd(FTP)服务的安装包

终端输入以下命令:yum -y install vsftpd

5,配置vsftpd.conf文件

终端输入以下命令:vim /etc/vsftpd/vsftpd.conf

(1)在第一个参数前加:anon_root=/opt/ftpdir  (等号两侧不允许有空格)

6,重启服务

(1)终端输入以下命令:systemctl restart vsftpd

(2)确认vsftpd服务正常运行,查看21号端口是否被监听

终端输入以下命令:netstat -ntlp | grep vsftpd

7,设置自启动

终端输入以下命令:systemctl enable vsftpd

8,关防火墙

终端输入以下命令:systemctl stop firewalld (注意:Windowns也要关防火墙)

9,关闭SELinux安全子系统

终端输入以下命令:setenforce 0 (或者vi /etc/selinux/config 出现SELINUX,改它的 参数为disabled)

10,测试

在客户端为Windowns上,在“我的电脑”中“此电脑”一栏输入:ftp://(Linux配置的 IP地址)

访问不成功的原因与注意事项:

1,对于文件夹权限不足,自vsftpd2.3.5版本开始,如果用户被限定在FTP根目录下,则不允许对自己的根目录具有写权限,但对子目录并不限制写入,所以一般只修改根目录下的子目录问修改权限,权限问题还在于子目录的所有者是否为ftp,如需更改所有者,则:chown ftp:ftp <子目录文件名>

2,防火墙,通常解决防火墙阻拦的方法是直接关闭,一劳永逸,但是如果在开启的状态下设置放行ftp规则也是可以的:firewall-cmd --permanent --add-service=ftp

3,配置文件/etc/vsftpd/vsftpd.conf里面没有开启对于用户的写权限,以匿名用户为例:

A)anon_upload_enabled=YES     允许匿名用户上传文件

B)anon_mkdir_write_enable=YES   允许匿名用户创建文件

C)anon_other_write_enable=YES    允许匿名用户有其他写权限,如删除和重命名文件

值得注意的一点是:A,B项只有当write_enable=YES时,才会生效

4,安全子系统,selinux非常不建议改它的上下文和bool值,一般是直接setenforce 0关掉,若不关,就只有执行setsebool -P ftp_full_access=on的命令,去改bool值

Linux搭建FTP服务的更多相关文章

  1. Linux——搭建FTP服务

    一.FTP基本概念: 1.FTP的作用: 实现文件系统的安全匿名访问:包括上传.下载和查看,可以应用于Windows和Linux系统 2.FTP的工作原理 server与client都支持ftp传输协 ...

  2. linux 搭建ftp服务并设置限制访问目录

    服务器有好几个项目,新项目前端外包,因为要微信授权登陆,所以前端没有办法本地调试,必须上次ftp在我们服务器上调试代码,当然要限制ftp访问的目录,否则整个服务器项目都能看到了. 安装vsftpd s ...

  3. linux 搭建ftp服务

    一. 安装ftp yum -y install vsftpd 二.配置 安装完之后在/etc/vsftpd/路径下会存在三个配置文件. vsftpd.conf: 主配置文件 ftpusers: 指定哪 ...

  4. Linux下搭建ftp服务

    Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...

  5. Linux(Centos7) 实例搭建 FTP 服务

    本文以 CentOS 7.2 64位系统为例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端.指导您如何在 Linux 云服务器上搭建 FTP 服务. 操作步骤 安装 vsf ...

  6. Linux:服务器(CentOS)搭建FTP服务

    Vsftpd(very secure FTP deamon)是众多Linux发行版中默认的FTP服务器.本文以CentOS 8(腾讯云)服务器为例,使用vsftpd搭建Linux云服务器的FTP服务器 ...

  7. Linux centosVMware xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    一.xshell使用xftp传输文件 Ctrl+Alt+F 弹出 下载进入 填写任意名字,自己邮箱 进入邮箱点击网址就自动下载了 然后安装 二.使用pure-ftpd搭建ftp服务 yum insta ...

  8. 使用Linux搭建FTP服务器实现文件共享

    使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...

  9. Linux 搭建FTP

    Linux 搭建FTP 步骤一:安装 vsftpd 1,运行以下命令安装 vsftpd. yum install -y vsftpd 出现下图表示安装成功. 2,打开etc/vsftpd cd /et ...

  10. 快速搭建FTP服务

    Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...

随机推荐

  1. 根据已知经纬度导出对应地点的NDVI值

    首先把经纬度和NDVI投影到同一个坐标上,其次把excel的经纬度到出城shp格式 然后执行如下步骤: [工具][spatial analyst 工具][提取分析][多值提取至点]

  2. docker搭建consul集群

    防止自己忘了,做个笔记. 环境为两台主机,ip分别为:  192.168.2.9,192.168.2.7 首先在  192.168.2.9 上执行一下命令: docker run -d --name ...

  3. Java笔记第四弹

    File类创建功能 public boolean createNewFile();//当该文件名不存在时,创建一个由该抽象路径名命名的新空文件 public boolean mkdir();//创建由 ...

  4. 干货 | BitSail Connector 开发详解系列一:Source

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 BitSail 是字节跳动自研的数据集成产品,支持多种异构数据源间的数据同步,并提供离线.实时.全量.增量场景下全 ...

  5. 从开源模型、框架到自研,声网 Web 端虚拟背景算法正式发布

    根据研究发现,在平均 38 分钟的视频会议里面,大概会有 13 分钟左右的时间用于处理和干扰相关的事情.同时研究也表明在参加在线会议的时候,人们更加倾向于语音会议,其中一个关键原因就是大家不希望个人隐 ...

  6. Agora 教程丨一个典型案例,教你如何使用水晶球“数据洞察”

    7 月初,声网Agora 水晶球的"数据洞察"功能正式版上线."数据洞察"可显示两种数据,一种是用量,另一种是质量. "数据洞察"的&quo ...

  7. 音频和视频流最佳选择?SRT 协议解析及报文识别

    我们所知道 SRT 是由 Haivision 和 Wowza 开发的开源视频流协议.很多人会认为在不久的将来,它被是 RTMP 的替代品.因为 RTMP 协议安全性稍低,延迟相对较高 ,而相对于 SR ...

  8. WebSocket集群解决方案,不用MQ

    ​ 首先不了解WebSocket的可以先看看这篇文章,以及传统的WebSocket方案是怎么做的,https://www.cnblogs.com/jeremylai7/p/16875115.html ...

  9. 数据挖掘系统聚类—R实现

    系统聚类法 聚类就是按照某个特定标准把一个数据集分割成不同的类或簇,最后的结果是希望同类之间的差异性尽可能小,不同类之间的差异性尽可能大.不同的类具有能够表达异于其他类的指标,这样针对不同的类,后续就 ...

  10. 人工智能NVIDIA显卡计算(CUDA+CUDNN)平台搭建

    NVIDIA是GPU(图形处理器)的发明者,也是人工智能计算的引领者.我们创建了世界上最大的游戏平台和世界上最快的超级计算机. 第一步,首先安装N卡驱动. cby@cby-Inspiron-7577: ...