Linux CentOS 7 安装配置vsftp
学习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的更多相关文章
- 分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇
分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)--第一篇 简介 首先简单了解一下基础概念,FastDFS是一个开源的轻量级分布式文件系统,由 ...
- Linux CentOS Nginx安装配置
Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...
- 【转发】【linux】【ftp】CentOS 7.0安装配置Vsftp服务器
adduser -d /var/www/android -g ftp -s /sbin/nologin ftp2 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firew ...
- CentOS 7.0安装配置Vsftp服务器
一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)
Centos下安装配置LAMP(Linux+Apache+MySQL+PHP) 关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...
- CentOS 7.0安装配置Vsftp服务器步骤详解
安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...
- CentOS 7.2安装配置Vsftp服务器
一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.2默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- linux/centos下安装nginx(rpm安装和源码安装)详细步骤
Centos下安装nginx rpm包 ...
随机推荐
- adb安装 mac和Windows
一.mac安装 参考地址https://blog.csdn.net/VSRfind/article/details/79593098 1.首先安装一个软件 在用Mac进行Android开发之前,我们一 ...
- 「题解」agc031_c Differ by 1 Bit
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 AT4693.AtCoder agc031_c. 题意概述 给定三个数 \(n,a,b\),求一个 \(0\sim ...
- Nginx 配置文件介绍
目录 1.1 常用命令 1.2 Nginx的配置文件结构 1.3 Nginx的全局配置 1.4 HTTP服务器配置 1.5 HttpGzip配置 1.6 负载均衡配置 1.7 server虚拟主机配置 ...
- 如何使用 Python 统计分析 access 日志?
一.前言 性能场景中的业务模型建立是性能测试工作中非常重要的一部分.而在我们真实的项目中,业务模型跟线上的业务模型不一样的情况实在是太多了.原因可能多种多样,这些原因大大降低了性能测试的价值. 今天的 ...
- 【Azure 机器人】微软Azure Bot 编辑器系列(1) : 创建一个天气对话机器人(The Bot Framework Composer tutorials)
欢迎来到微软机器人编辑器使用教程,从这里开始,创建一个简单的机器人. 在该系列文章中,每一篇都将通过添加更多的功能来构建机器人.当完成教程中的全部内容后,你将成功的创建一个天气机器人(Weather ...
- 【UG二次开发】 UF_OBJ_ask_name 获取对象名字
代码 char name[256]; UF_OBJ_ask_name(objTag, name);
- DB2 SQL0805N解决和思考
一.报错现象 这是一个在使用 DB2数据库过程中比较常见的错误, 报错信息如下 Exception stack trace: com.ibm.db2.jcc.am.SqlException: DB2 ...
- DNS 解析过程
DNS 是应用层协议,用于将域名转换成 IP 地址. 1. 解析过程 DNS 的核心系统是一个三层的树状.分布式服务,基本对应域名的结构. 根域名服务器:管理顶级域名服务器,返回 com.net.cn ...
- Java实现工厂模式
工厂模式(Factory),当需要根据运行时的一些条件来决定创建具体对象时,就应该考虑使用工厂设计模式,将创建对象的任务交给工厂集中处理. 工厂模式有多种写法,总体分为简单工厂模式和抽象工厂模式 工厂 ...
- Go基础语法0x01-数组
数组 1.Go数组简介 数组是Go语言编程中最常用的数据结构之一.顾名思义,数组就是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的 ...