学习Linux时间不长,首次安装了vsftp,按照网上的各种帖子尝试配置,不过都没打到预期,不是被拒绝连接,就是连接超时,总之就是各种问题啊。当然了,不是别人配置的不对,而是自己不是太懂Linux,选择的配置参数彼此之间不知道哪里起了冲突。

  所以结合自己的系统把安装配置过程记录下来,方便以后学习总结。

 

  1、 安装vsftpd

  # yum install vsftpd  

  【删除指令 yum remove vsftp*】

  2.、查看是否已经安装上了

  # yum list installed | grep vsftpd

  vsftpd.x86_64                           3.0.2-25.el7                   @base

  3、启动vsftp,并且关闭防火墙以方便测试

  # systemctl start vsftpd

  # systemctl stop firewalld

  4、给防火墙增加ftp的21端口

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

  在centos7中,防火墙为firewall,在开启状态下执行上面语句,返回success;重启后规则生效。

  --zone #作用域

  --add-port=21/tcp #添加端口,格式为:端口/通讯协议

  --permanent #永久生效

  

  查看当前开了哪些端口,其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。

  # firewall-cmd --list-services

  查看已经打开了哪些服务

  # firewall-cmd --get-services

  添加一个服务到firewalld

  # firewall-cmd --add-service=ftp  // 这样添加的service当前立刻生效,但系统下次启动就失效

  # firewall-cmd --permanent --add-service=ftp  // 要永久开放一个service,加上 --permanent

  然后通过systemctl restart firewalld.service重启防火墙就生效了

  5、文件说明

  刚安装完vsftp后,/etc/vsftpd/下的文件ftpusers,user_list,vsftpd.conf,vsftpd_conf_migrate.sh。

  默认情况下,vsftp是允许匿名连接的,即不输入用户名和密码直接通过ip就可以连接上。

  默认的连接目录是/var/ftp/pub,并且只有550的权限。

  6、文件修改

  只做简单修改,只为能按预期连接ftp。只允指定用户进行登录并且只能访问自己的home目录

  anonymous_enable=NO  (禁止匿名登录)

  chroot_local_user=NO  (用于指定用户列表文件中的用户是否允许切换到上级目录)

  chroot_list_enable=YES  (设置是否启用chroot_list_file配置项指定的用户列表文件)

  chroot_list_file=/etc/vsftpd/chroot_list  (用于指定用户列表文件,需要自己手动创建)

  hide_file = .*  (不显示以点开头的隐藏文件)

  

  然后使用系统的本地用户进行登录,连接不成功,提示如下错误:

  500 OOPS: chroot

  please specify the password

  解决方法:关闭SElinux;修改配置文件/etc/vsftpd/vsftpd.conf添加参数:allow_writeable_chroot=YES

  实现预期效果。

  7、临时关闭Selinux方法

  # getenforce  //查看Selinux状态

  Enforcing

  # setenforce 0 //临时关闭Selinux,立即生效

  # getenforce

  Permissive

  8、新建FTP用户

  useradd ftpuser -d /mnt/ftpfile -s /sbin/nologin

  passwd ftpuser

  chown -R ftpuser:ftpuser /mnt/ftpfile

  将ftpuser添加到chroot_list中,连接ftp,提示530 Login incorrect,连接失败。但是创建的普通账号就可以正常登陆。

  解决方法:很多提供对系统非登录访问的守护进程(如FTP)会检查用户的登录shell是否列在/etc/shells中,如果没有列出,守护进程就会拒绝访问(这正是您所需要的动作)。

  打开 /etc/shells后,发现确实没有/sbin/nologin这一行,添加上再次登陆,成功。

  9、备注

  在实际生成过程中,按上述配置完毕后,不报错误,但是一直超时连接不上。修改了本地FTP的连接模式为PORT或者其他与服务器配置对应的方式就成功了。

Linux CentOS 7 安装配置vsftp的更多相关文章

  1. 分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇

    分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)--第一篇 简介 首先简单了解一下基础概念,FastDFS是一个开源的轻量级分布式文件系统,由 ...

  2. Linux CentOS Nginx安装配置

    Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...

  3. 【转发】【linux】【ftp】CentOS 7.0安装配置Vsftp服务器

    adduser -d /var/www/android -g ftp -s /sbin/nologin ftp2 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firew ...

  4. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  5. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  6. CentOS 7.0安装配置Vsftp服务器步骤详解

    安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...

  7. CentOS 7.2安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.2默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  8. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  9. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

随机推荐

  1. .NET平台系列21:云原生时代 .NET5 雄霸天下

    系列目录     [已更新最新开发文章,点击查看详细] 随着互联网持续高歌猛进,相关技术名词也是层出不穷.微服务.容器化.DevOps.ServerLess.FaaS,这两年最火的当属云原生Cloud ...

  2. 用Java如何设计一个阻塞队列,然后说说ArrayBlockingQueue和LinkedBlockingQueue

    前言 用Java如何设计一个阻塞队列,这个问题是在面滴滴的时候被问到的.当时确实没回答好,只是说了用个List,然后消费者再用个死循环一直去监控list的是否有值,有值的话就处理List里面的内容.回 ...

  3. 一、安装Tomcat服务器

    [root@ web1 ~]# yum -y install java-1.8.0-openjdk   #安装jdk [root@web1 ~]# yum -y install java-1.8.0- ...

  4. Spring Cloud底层原理解析

    概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓 ...

  5. Visual Studio 2019本地不能运行Azure Functions

    最近一个项目,需要维护同事写得代码,主要是一堆基于 .net core 3.1 的 Azure Functions.想起2年前第一次接触 Azure Functions(那次是基于.net frame ...

  6. 磁盘文件监控(Java)并发送邮件通知、系统定期执行的办法

    以下是通过xml文件进行的监控路径.文件以及邮件信息的配置,读取xml文件使用的是三方jar包:dom4j 收发邮件采用的是最普通的javamail,需要两个jar包,mail.jar和activit ...

  7. 性能工具之linux常见日志统计分析命令

    引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 ...

  8. 基于ABP落地领域驱动设计-05.实体创建和更新最佳实践

    目录 系列文章 数据传输对象 输入DTO最佳实践 不要在输入DTO中定义不使用的属性 不要重用输入DTO 输入DTO中验证逻辑 输出DTO最佳实践 对象映射 学习帮助 系列文章 基于ABP落地领域驱动 ...

  9. Golang封装一个加锁的Map工具包

    Golang封装一个加锁的Map工具包 直接上代码了,用的是读写锁,代码如下: package utils import ( "sync" ) type BeeMap struct ...

  10. Vue3全局APi解析-源码学习

    本文章共5314字,预计阅读时间5-15分钟. 前言 不知不觉Vue-next的版本已经来到了3.1.2,最近对照着源码学习Vue3的全局Api,边学习边整理了下来,希望可以和大家一起进步. 我们以官 ...