最近在解决客户的问题时接触到了一些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. 软件开发架构、构架趋势、OSI七层协议

    目录 软件开发架构 构架总结 网络编程前戏 OSI七层协议简介 OSI七层协议值之物理连接层 OSI七层协议之数据链层 网络相关专业名词 OSI七层协议之网络层 IP协议: IP地址特征: IP地址分 ...

  2. kali使用命令ifconfig查询ip地址一直为127.0.0.1的解决办法

    解决方法: 执行命令:dhclient -v,即可解决

  3. 《HelloGitHub》第 81 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  4. day07-Spring管理Bean-IOC-05

    Spring管理Bean-IOC-05 3.基于注解配置bean 3.3自动装配 基本说明: 基于注解配置bean,也可以实现自动装配,使用的注解是:@AutoWired或者@Resource @Au ...

  5. 基础分类算法_KNN算法

    KNN(K-NearestNeighbor)算法 KNN算法是有监督学习中的分类算法. KNN算法很特殊,可以被认为是没有模型的算法,也可以认为其训练数据集就是模型本身. KNN算法的原理 KNN的原 ...

  6. 【Regex】判断密码强度的正则表达式

    原文地址 https://www.cnblogs.com/younShieh/p/17082522.html 如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~     需求   最近 ...

  7. 网络通讯协议分类-IP地址

    网络通讯协议分类 通信的协议还是比较复杂的,java.net包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节. java.net包 ...

  8. 阿里云服务器中MySQL数据库被攻击

    前几天刚领了一个月的阿里云服务器玩,在里面装了MySQL,然后这几天找了个小项目练习着玩呢,就将表建在里面了. 刚访问添加员工还好好的,刚给员工分页查询呢 ,啪一下 ,很突然昂 ,就访问不了了 ,看控 ...

  9. 对线面试官:浅聊一下 Java 虚拟机栈?

    对于 JVM(Java 虚拟机)来说,它有两个非常重要的区域,一个是栈(Java 虚拟机栈),另一个是堆.堆是 JVM 的存储单位,所有的对象和数组都是存储在此区域的:而栈是 JVM 的运行单位,它主 ...

  10. 【Spring】Bean注册注解

    @Configuration 同@Component,将标注的类作为一个组件,区别是会使用Cglib动态代理,因此使用该注解的类不能是final的 与@Component的区别可见:Configura ...