最近在解决客户的问题时接触到了一些FTP的问题,自己在使用过程中发现了很多问题,所以这里总结了一些调优的办法:

服务:vsftp 非常安全文件传输

配置文件:/etc/vsftpd/vsftpd.conf

问题1:

开启本地用户访问,包括root访问

首先要在配置文件中设置以下这些配置:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
userlist_deny=YES 这个一般配置文件不带的,所以如果改好后重启vsftp发现文件不存在可以注释掉它。
userlist_enable=YES

https://www.cnblogs.com/revo/p/7444897.html

Root用户登录失败问题:

然后重启服务,这里有一点需要注意,user_list是白名单,如果单开启userlist_enable=YES这个时,这个文件内的所有未注释用户不允许登录;这也是默认设置root是不被注释的,防止root登录,需要注释到这里的root;如果userlist_deny=NO,userlist_enable=YES时,只允许user_list里的用户登录。

这里还有个问题,如果报这个错,有可能是你的用户密码错误,密码就是你登录实例的密码,用root执行passwd user名就可以改了;还有可能是你的用户不是本地用户哈,就是属性是/sbin/nologin这样也会无法登录的。

若root登录时如果还是报530logincorrect再试着将/etc/vsftp/ftpusers 中的root也给注释掉,就可以登录了。

问题2:

主被动模式问题,Windows连接时vsftp默认开启主动模式,所以需要使用20,21端口来建立并传输数据;Linux连接时默认是被动模式,但是本人亲测了Windows主动模式,效果不太理想,如果客户是filezilla连接,尽量使用被动模式,下面介绍下被动模式:

被动模式是需要配置 vsftpd.conf的配置文件的,在配置文件里要有以下配置:

pasv_enable=YES #开启被动模式

pasv_min_port=20000 #被动模式随机端口范围最小 这里两个端口范围也要在云服务器的安全组中放行,否则不能连接

pasv_max_port=30000 #被动模式随机端口范围最大

pasv_address=120.27.x.x #本地用户访问时要开启公网访问,默认好像是内网,所以会报错

主要体现在连接好后,执行ls会失败,

如果用filezilla连接时,这里也有个坑,一是端口一定要选21连,第二个就是传输设置要选被动,不要选主动,默认我也说不好是啥,好像是被动模式;然后才能连接上。

问题3:

匿名用户fillzilla登录情况下,登录成功了,上传和下载文件需要给配置:

anonymous_enable=YES #允许匿名登陆

write_enable=YES #写权限

local_umask=022 #给定新建文件初始umask,文件就是666-022=644 ,目录同理755

另外还需要其他设置:

anon_upload_enable=YES #允许匿名用户上传

anon_mkdir_write_enable=YES #配置文件里官方是这个说的

Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

说可以创建新目录,但其实这是个坑,没有下面的这个配置,一样无法创建新目录和文件,下面这个配置是没有的自带的,要我们手动加上去,否则你的匿名用户就是无法做修改等其他操作。

anon_other_write_enable=YES

问题4:文件目录和文件的权限问题

vsftp默认的访问目录是/var/ftp,有时候我们图省事会直接把这个目录给到777,但是这样是官方不允许的,它最多能给到755,否则你连接时就会失败报错,越权了~

所以拧不过官方,咱就老实给/var/ftp/再随便建一个目录,然后再给777就好,如果是本地用户再chown更改下所属者和所属组,这样可以避免因系统层面的问题导致文件修改等操作受限!

后续再有其他问题,我会再这里补充,希望可以帮到大家,也希望有错误de地方大家可以在此探讨下~thanks for watching.

FTP调优的更多相关文章

  1. linux下的FTP安装及调优

    前言: 在之前交换平台的开发中,FTP的各种操作算是核心功能点. 在FTP的开发中,遇到了不少坑. 如FTP需要设置被动模式,否则10M以上的包可能会上传失败. 如FTP需要设置囚牢模式,否则访问的文 ...

  2. centos linux安全和调优 第四十一节课

    centos  linux安全和调优    第四十一节课 上半节课 Linux安全 下半节课 Linux调优 2015-07-01linux安全和调优 [复制链接]--http://www.apele ...

  3. JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码

    本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍) ...

  4. JVM调优之JMeter使用(三)

    JMeter是Apache 下基于Java 的一款性能测试和压力测试工具.它基于Java 开发,可对HTTP 服务器和FTP服务器,甚至是数据库进行压力测试. 下载地址:http://jmeter.a ...

  5. 深入理解JAVA虚拟机(内存模型+GC算法+JVM调优)

    目录 1.Java虚拟机内存模型 1.1 程序计数器 1.2 Java虚拟机栈 局部变量 1.3 本地方法栈 1.4 Java堆 1.5 方法区(永久区.元空间) 附图 2.JVM内存分配参数 2.1 ...

  6. 《Linux 性能及调优指南》2.3 监控工具

    翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...

  7. 《Linux 性能及调优指南》1.5 网络子系统

    翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...

  8. Kettle性能调优汇总

      性能调优在整个工程中是非常重要的,也是非常有必要的.但有的时候我们往往都不知道如何对性能进行调优.其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优.本章主要是介绍Kettle的性能优 ...

  9. MySQL性能调优与架构设计——第13章 可扩展性设计之 MySQL Replication

    第13章 可扩展性设计之 MySQL Replication 前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instan ...

  10. 使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码 (jvm性能调优)

    技术交流群:233513714 本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 ...

随机推荐

  1. Jmeter在结果树中查看响应数据为空

    今天遇到了一个比较尴尬的问题,吭哧吭哧了大半天,后来咨询了开发SO的一下解决了. 问题: 在调用接口时取样器结果中显示response code:200, response message:OK,但是 ...

  2. vue下载与安装

    首先安装node.js环境: node.js 安装推荐文章:https://www.cnblogs.com/zhouyu2017/p/6485265.html 基于node.js安装淘宝镜像npm i ...

  3. STL vector常用API

    1.容器:序列容器(时间决定).关联式容器(容器中的数据有一定规则) 2.迭代器:通过迭代器寻找.遍历容器中的数据 vetor的使用:数据遍历与输出 #define _CRT_SECURE_NO_WA ...

  4. VSCTF的Recovery

    题目如下: from random import randint from base64 import b64encode def validate(password: str) -> bool ...

  5. [编程基础] C++多线程入门6-事件处理的需求

    原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 文章目录 6 事件处 ...

  6. C#调用接口的简单流程

    1.编写url地址 string url="http://192.168"; 2.创建http请求对象 HttpWebRequest request = (HttpWebReque ...

  7. 已完成 10000 多次提交,Solon Java Framework v1.12.1 发布

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  8. [Unity]Update()与FixedUpdate()

    Update()介绍 首先我们从官方文档的介绍了解: MonoBehaviour.Update() Description Update is called every frame, if the M ...

  9. C++初探索

    C++初探索 前言 C++ 和 C 的区别主要在8个方面: 输入和输出 引用 inline函数 函数默认值 函数重载 模板函数 new 和 delete namespace 我仅对印象不深的地方做了总 ...

  10. 02-RTL代码分析思路

    RTL代码分析思路(这里不进行具体代码的分析) verilog文件是以.v结尾的 1 RTL代码示例 //Date : 2023-01-09 //E-mail : xxxxxx@163.com //c ...