【FTP】FTP服务搭建

article/2025/11/10 4:50:37

基本介绍:

         FTP是文件传输协议的缩写,基于网络来传输文件的应用层协议。

         FTP支持两种模式:Standard(PORT方式,主动方式),Passive(PASV,被动方式)。

Port模式:

FTP客户端首先和服务器的TCP21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令,PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器通过自己的TCP20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

Passive模式:

建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

 

用途:

              本地主机和远程主机之间传送文件。

 

实现文件传输协议的服务器和客户端软件非常多,VSftp就是服务器端的一个,一般安装在linux上。FileZilla Server也是服务器端的一个,一般安装在windows上。

 

客户端软件,一般推荐FileZilla。

         本文档主要介绍centos7安装vsftp。

基本环境:

1、  centOS7

2、  测试服务器IP192.168.224.224

一、安装并启动FTP服务

 

安装VSFTPD

使用yum安装vsftpd

yum install – y vsftpd

启动VSFTPD服务

安装完成后,启动FTP服务

service vsftpd start

启动后,可以看到系统已经监听了21端口:

netstat –nltp | grep 21

 

此时,使用IE浏览器访问ftp://192.168.224.224/可浏览器服务器上的/var/ftp目录。

设置开机启动:systemctl enable vsftpd

 

二、配置FTP权限

 

了解VSFTP配置

Vsftpd的配置目录为/etc/vsftpd,包含下列的配置文件:

vsftpd.conf 为主要配置文件

ftpusers : 配置禁止访问FTP服务器的用户列表

user_list : 配置用户访问控制

 

组织匿名访问和切换根目录

 

匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。

编辑/etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:

 

# 禁用匿名用户  YES改为NO

Anonymous_enable=NO

# 禁止切换根目录  删除#

chroot_local_enable=YES

 

编辑完成后保存配置,重新启动FTP服务

service vsftpd restart

 

创建FTP用户

创建一个用户ftpuser::

useradd ftpuser

 

为用户ftpuser设置密码:

echo "javen205" | passwd ftpuser –stdin

   限制该用户仅能通过FTP访问

       限制用户ftpuser只能通过FTP访问服务器,而不能直接登录服务器:

       usermod -s /sbin/nologin ftpuser

   为用户分配主目录

  /data/ftp为主目录,

  /data/ftp/pub文件只能上传到该目录下

       

       在/data中创建相关的目录

                   mkdir–p /data/ftp/pub

创建登录欢迎文件

    echo”Welcome to use FTP service.”  >/data/ftp/welcome.txt

    设置访问权限:

    chmod a-w /data/ftp && chmod 777 -R/data/ftp/pub

    设置为用户的主目录:

    usermod -d /data/ftp ftpuser

三、访问FTP

根据个人工作环境,选择一种方式来访问已经搭建的FTP服务。

# 关闭SELinux服务:

setenforce 0

# 开启21、20端口

firewall-cmd --zone=public --add-port=21/tcp –permanent

firewall-cmd --permanent --list-port

service firewalld restart

通过windows资源管理器访问

ftp://ftpuser:javen205@192.168.224.224

 

如果提示如下信息:


解决访问把“使用被动FTP”去掉。

控制面板→Internet选项→使用被动FTP(用于防火墙和DSL调制解调器的兼容)


通过FTP客户端工具FileZilla访问

FileZilla:跨平台的FTP客户端,支持Windows和Mac

 

                        如果出现下图所示,卡在这里,不往下走。

 

解决访问

文件→站点管理器→传输设置。把传输模式改为“主动”。

 

  问题原因:

  Internet选项和FTP客户端工具默认使用的都是PASV模式连接FTP服务。

         附录:   

linux下ftp命令的安装与使用

https://www.cnblogs.com/tjudzj/p/7700686.html

 

 

       


http://chatgpt.dhexx.cn/article/vqks72GS.shtml

相关文章

FTP服务器架设

FTP服务器架设详细图解转载文章,网络共享 <script src"http://www.topc.cn/Click_ajax.asp?typejs&SubSysNS&spanidNS_id_click_HB25HJ3I099D1G6" language"JavaScript" type"text/javascript"></script> FTP 是File Tran…

FTP服务器—(5分钟快速搭建一个FTP服务器)

一.什么是FTP FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议&#xff0c;使得主机间可以共享文件. 二.搭建前期准备 1.首先打开控制面板找到“程序”点击打开&#xff0c;如下图所示&#xff1a; 1 2.在打开的“程序”窗口中&#xff0c;找到“启用或…

搭建FTP服务器

Windows10搭建FTP服务 1、启用Windows10 Ftp服务 打开控制面板->程序和功能->启用或关闭windows功能然后如图&#xff1a; 2、配置FTP用户 我的电脑->右击点击管理->本地用户和组 在Administrator 用户组中添加一组ftp用户 For example 用户名&#xff1a;ftp1 …

架设个人FTP服务器的三种方法

若该文为原创文章&#xff0c;未经允许不得转载 原博主博客地址&#xff1a;https://blog.csdn.net/qq21497936 原博主博客导航&#xff1a;https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/…

FTP架设及本地分享局域保姆级教程

文章目录 FTP架设及本地分享局域保姆级教程前置准备&#xff1a;软件下载一、FTP环境配置1. 安装调试FileZilla_server安装&#xff1a;运行FileZilla服务端安装程序&#xff0c;参照下图进行默认安装即可&#xff1b;连接设定&#xff1a;通过主机名或IP端口进行连接&#xff…

搭建ftp服务器的超详细步骤。

第一步&#xff1a;打开控制面板。 1.1选择程序这个选项。 1.2选择启用或关闭window功能 1.3勾选如图有红箭头的这几个选项。 第二步&#xff1a;搜索iis且将其打开 。 2.1点击网站&#xff0c;且点击添加网站 物理路径可在除C盘以外的盘单独建立一个文件&#xff0c;用来存放上…

在本机搭建自己的ftp服务器--最简单的方法(详细教程)

目录 前言 具体步骤 总结 加油各位( •̀ ω •́ )y 期待与君再相逢 前言 FTP服务器可以在局域网中快速传输文件&#xff0c;是在互联网上提供文件存储和访问服务的计算机&#xff0c;它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义&#x…

浏览器执行原理、V8引擎

前言 对一个前端而言&#xff0c;思考JS在浏览器中如何被执行非常重要。笔者是通过codewhy的课程进行学习的&#xff0c;首先感谢codewhy。 浏览器的功能 浏览器的主要功能就是向服务器发出请求&#xff0c;在浏览器窗口中展示您选择的网络资源。这里所说的资源一般是指 HTM…

ARM v8 简介

ARMv8 Exception Level 在介绍其他概念前&#xff0c;先要了解 ARMv8 全新的异常级设计。 ARMv8 定义了4个异常级。EL0-EL3&#xff0c;数字越大&#xff0c;权限越高。其中 EL0 用于应用程序&#xff0c;EL1 用于操作系统&#xff0c;EL2 用于虚拟化&#xff0c;EL3 用于安全…

V8引擎解析JavaScript原理

为什么需要JavaScript引擎呢&#xff1f; 高级的编程语言都是需要转成最终的机器指令执行的 我们编写的JavaScript无论交给浏览器和Node执行&#xff0c;最后都是被CPU执行的 CPU只认识自己的指令集&#xff0c;实际上是机器语言&#xff0c;才可以被CPU所执行 所以需要借助Jav…

V8引擎详解(一)——概述

背景 在现有的javascript引擎中&#xff0c;V8引擎绝对是其中的佼佼者&#xff0c;chrome和node底层都使用了V8引擎&#xff0c;其中chrome的市场占有率已经达到70%&#xff0c;而node更是前端工程化以及扩展边界的核心支柱&#xff0c;V8引擎对于一个前端开发工程师来说重要程…

浏览器工作原理和V8引擎

一、浏览器的工作原理 比如在浏览器中输入网址&#xff0c;然后dns进行解析&#xff0c;解析出的就是服务器的一个ip地址。服务器返回一个html文件&#xff0c;浏览器内核在解析html文件的过程中&#xff0c;遇到link标签和script标签引用的css文件和JavaScript文件就会去下载…

V8引擎学习

计算机模型 寄存器 中央处理器的组成部分寄存器是有限存储容量额高速存储部件可以用来暂存指令&#xff0c;数据和地址存储器内的数据可以用来执行算术和逻辑运算。寄存器内的地址可用于指向内存的某个位置 内存 随机存取存储器也叫内存&#xff0c;英文缩写RAMRAM是与CPU直…

V8垃圾回收

来自李兵老师的《浏览器工作原理与实践》&#xff0c;太赞了 垃圾回收 内存空间栈空间和堆空间不同语言的垃圾回收策略调用栈中的数据是如何回收的堆中的数据是如何回收的副垃圾回收器主垃圾回收器总结 在我们说V8垃圾回收之前&#xff0c;先讲讲 数据是如何存储的&#xff1f;…

认识V8引擎

1、前言 编程语言一般分为两类&#xff0c;解释性语言和编译性语言。编译型语言在执行之前要先进行完全编译&#xff0c;而解释型语言一边编译一边执行&#xff0c;很明显编译型语言会比解释性语言快&#xff0c;而JavaScript就是一种解释型脚本语言&#xff0c;支持动态类型、…

V8引擎执行原理

v8是C编写的Google开源高性能JavaScript和WebAssembly引擎&#xff0c;它用于Chrome和Node.js等。 它实现ECMAScript和WebAssembly。 v8可独立运行&#xff0c;也可嵌入到任何C应用程序中。 parse模块 parse模块会将JavaScript代码转换成AST(抽象语法树)&#xff0c;因为…

Google V8引擎浅析

前端开发人员都会遇到一个流行词&#xff1a;V8。它的流行程度很大一部分是因为它将JavaScript的性能提升到了一个新的水平。是的&#xff0c;V8很快。但它是如何发挥它的魔力&#xff1f; 前言 源代码&#xff1a;https://source.chromium.org/chromium/chromium/src//master:…

js中v8引擎的详解-看的吐血

v8引擎出现的原因 这里先说一下什么是编译型语言和解释性语言&#xff1a; 编译型语言&#xff1a; 在程序执行之前必须进行专门的编译过程&#xff0c;有如下特点&#xff1a; 只须编译一次就可以把源代码编译成机器语言&#xff0c;后面的执行无须重新编译&#xff0c;直接…

Google V8 引擎

V8的前世今生 V8是JavaScript渲染引擎&#xff0c;第一个版本随着Chrome的发布而发布(具体时间为2008年9月2日)。在运行JavaScript之前&#xff0c;相比其它的JavaScript的引擎转换成字节码或解释执行&#xff0c;V8将其编译成原生机器码&#xff08;IA-32, x86-64, ARM, or M…

编译v8引擎

本机环境是win7vs2010(本来想用2012的&#xff0c;但是发现默认的项目是2010的) 1、首先下载V8的源码 安装好svn&#xff0c;并在cmd下能使用svn help&#xff1a; svn下载地址&#xff08;安装包&#xff09;&#xff1a;http://download.csdn.net/detail/zengraoli/5651551 …