最近在解决客户的问题时接触到了一些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. js属性对象的hasOwnProperty( )方法,检测一个属性是否是对象的自有属性

    hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键). 语法: obj.hasOwnProperty(prop) 参数: prop  ...

  2. 判断条件为NULL

    在ASCII码表里NULL的二进制位0.所以NULL作为判断条件时,表示为假的意思. ASCII表               二进制                       字符         ...

  3. django中只使用ModleForm的表单验证,而不使用ModleForm来渲染

    主题 众所周知,django.forms极其强大,不少的框架也借鉴了这个模式,如Scrapy.在表单验证时,django.forms是一绝,也是面向对象的经典表现.但要用它来渲染表单那就不好玩了,除非 ...

  4. 9、IDEA回退Git版本

    转载自 在工作中有时候会要求我们将以前提交的代码新开一个分支,而把之前提交的分支回退到以前某个版本. 1.通过IDEA查看Git历史记录,复制当前版本号. 2.记录当前版本号后,再复制你要回退的版本号 ...

  5. centos7.6在防火墙放开端口

    假设要在centos7.6防火墙上开启443端口 前言:文章内容可能会因环境不同而有所差异,所谓集思广益说不定灵感就来了呢; 文章初衷旨在交流学习.记录个人成长,如果能帮助到您,那就点个赞噢. 1.查 ...

  6. 全志V3S 调试串口更改或关闭

    有时项目外设比较多,很容易造成串口不够用的情况. 最近就遇到了,新增加一个GPS模块串口的,串口现在外部只有原来的调试串口可以用,所以 尝试将调试口更改为普通串口. 经过网上看大神们的文章和自己摸索, ...

  7. 深入理解 OpenMP 线程同步机制

    深入理解 OpenMP 线程同步机制 前言 在本篇文章当中主要给大家介绍 OpenMP 当中线程的同步和互斥机制,在 OpenMP 当中主要有三种不同的线程之间的互斥方式: 使用 critical 子 ...

  8. SOFAJRaft源码阅读-模块启动过程

    本篇文章旨在分析SOFAJRaft中jraft-example模块的启动过程,由于SOFAJRaft在持续开源的过程中,所以无法保证示例代码永远是最新的,要是有较大的变动或者纰漏.错误的地方,欢迎大家 ...

  9. 今天学到的新知识--使用localtunnel实现内网穿透,感觉很神奇哇~~

    localtunnel 是一个基于 nodejs 的内网穿透工具.通过简单的安装可以实现将内网里的设备的某个端口暴露在公网中以提供服务. 首先你电脑要有node环境 使用本地隧道,对应本地服务的端口号 ...

  10. day01-SpringMVC基本介绍-01

    SpringMVC介绍-01 1.离线文档 解压 spring-5.3.8-dist.zip文件. 位置:spring-framework-5.3.8/docs/reference/html/web. ...