FTP调优
最近在解决客户的问题时接触到了一些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调优的更多相关文章
- linux下的FTP安装及调优
前言: 在之前交换平台的开发中,FTP的各种操作算是核心功能点. 在FTP的开发中,遇到了不少坑. 如FTP需要设置被动模式,否则10M以上的包可能会上传失败. 如FTP需要设置囚牢模式,否则访问的文 ...
- centos linux安全和调优 第四十一节课
centos linux安全和调优 第四十一节课 上半节课 Linux安全 下半节课 Linux调优 2015-07-01linux安全和调优 [复制链接]--http://www.apele ...
- JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码
本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍) ...
- JVM调优之JMeter使用(三)
JMeter是Apache 下基于Java 的一款性能测试和压力测试工具.它基于Java 开发,可对HTTP 服务器和FTP服务器,甚至是数据库进行压力测试. 下载地址:http://jmeter.a ...
- 深入理解JAVA虚拟机(内存模型+GC算法+JVM调优)
目录 1.Java虚拟机内存模型 1.1 程序计数器 1.2 Java虚拟机栈 局部变量 1.3 本地方法栈 1.4 Java堆 1.5 方法区(永久区.元空间) 附图 2.JVM内存分配参数 2.1 ...
- 《Linux 性能及调优指南》2.3 监控工具
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- 《Linux 性能及调优指南》1.5 网络子系统
翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...
- Kettle性能调优汇总
性能调优在整个工程中是非常重要的,也是非常有必要的.但有的时候我们往往都不知道如何对性能进行调优.其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优.本章主要是介绍Kettle的性能优 ...
- MySQL性能调优与架构设计——第13章 可扩展性设计之 MySQL Replication
第13章 可扩展性设计之 MySQL Replication 前言: MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instan ...
- 使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码 (jvm性能调优)
技术交流群:233513714 本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 ...
随机推荐
- Jmeter在结果树中查看响应数据为空
今天遇到了一个比较尴尬的问题,吭哧吭哧了大半天,后来咨询了开发SO的一下解决了. 问题: 在调用接口时取样器结果中显示response code:200, response message:OK,但是 ...
- vue下载与安装
首先安装node.js环境: node.js 安装推荐文章:https://www.cnblogs.com/zhouyu2017/p/6485265.html 基于node.js安装淘宝镜像npm i ...
- STL vector常用API
1.容器:序列容器(时间决定).关联式容器(容器中的数据有一定规则) 2.迭代器:通过迭代器寻找.遍历容器中的数据 vetor的使用:数据遍历与输出 #define _CRT_SECURE_NO_WA ...
- VSCTF的Recovery
题目如下: from random import randint from base64 import b64encode def validate(password: str) -> bool ...
- [编程基础] C++多线程入门6-事件处理的需求
原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++11标准. 文章目录 6 事件处 ...
- C#调用接口的简单流程
1.编写url地址 string url="http://192.168"; 2.创建http请求对象 HttpWebRequest request = (HttpWebReque ...
- 已完成 10000 多次提交,Solon Java Framework v1.12.1 发布
一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...
- [Unity]Update()与FixedUpdate()
Update()介绍 首先我们从官方文档的介绍了解: MonoBehaviour.Update() Description Update is called every frame, if the M ...
- C++初探索
C++初探索 前言 C++ 和 C 的区别主要在8个方面: 输入和输出 引用 inline函数 函数默认值 函数重载 模板函数 new 和 delete namespace 我仅对印象不深的地方做了总 ...
- 02-RTL代码分析思路
RTL代码分析思路(这里不进行具体代码的分析) verilog文件是以.v结尾的 1 RTL代码示例 //Date : 2023-01-09 //E-mail : xxxxxx@163.com //c ...