引用一个其他大佬对vsftpd的描述:  

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

  安装只需要一句命令就可以:

yum install vsftpd -y

  

  vsftpd默认安装目录

# which vsftpd
/usr/sbin/vsftpd

  安装目录中跟配置相关的文件

---ftpusers     // 指定哪些用户不能访问FTP服务器

---user_list     // 指定是否可以访问ftp服务器的用户列表,具体是否可以访问由vsfpd.conf这种的userlist_deny决定

---vsftpd.conf    // 主配置文件

ftpusers中的名单配置默认是生效的。一般ftpusers中已经定义好一些系统中重要的用户,这些用户不允许访问FTP服务器。

vsftpd.conf是主配置之文件,其中文件底部的userlist_enable决定user_list文件是否起作用userlist_file的值指的是当userlist_enable=YES时具体起作用的user_list路径。当userlist_enable=YES开启时user_list中的用户是可以访问FTP还是不可以访问FTP由userlist_deny的值决定。如:       

  1.user_enable=YES、userlist_deny=NO表示user_list文件中的用户允许访问FTP

  2.user_enable=YES、userlist_deny=YES表示user_list文件中的用户不允许访问FTP

至此就可以基本配置哪些用户可以连接FTP服务器,基本可以使用。

默认情况下所有允许连接到FTP的用户登录服务器时都是可以自由切换目录甚至是切换到根目录的。如果需要限制某些用户连接FTP的时候只能限制在自己的主目录则需要配置vsftpd.conf文件中的chroot_系列参数:

---chroot_list_enable    //设置是否启用chroot_系列参数  YES-开启   NO-关闭

---chroot_local_user    //是否将用户限制在主目录中  YES-指定名单中的用户可以任意切换目录 NO-指定名单中的用户不可以任意切换目录
---chroot_list_file      //要限制的用户列表文件所在的路径,这个文件默认是没有的,需要自己创建

service vsftpd start  //启动服务

service vsftpd stop   //停止服务

service vsftpd restart  //重启服务

  

另外vsftpd配置好chroot_系列的数据后也有可能有链接不上或者其他切换不到目录的问题。这可能是因为SELinux开启了的原因。这个东西具体没有深入研究,据说是为了加强Linux系统的访问控制的。

SELinux的配置文件在/etc/selinux/config。

# vi /etc/selinux/config     //编辑配置

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=1    #selinux是否开启 1-开启 enable-开启 0-关闭 disabled-关闭
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

  

# getsebool -a| grep ftp    #查看selinux中关于ftp的配置值
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off    #这个设置影响了ftp正常配置的启用状况
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
#setsebool allow_ftpd_full_access on     # 设置ftpd获取全部权限,将ftpd_full_access设置为启用

  

关于selinux的设置,每设置一次都需要重启系统才可以生效。

至此VSFTPD已经可以正常使用!

相关链接:

https://www.cnblogs.com/zhjh256/p/9155281.html

centosFTP服务搭建及权限配置的更多相关文章

  1. SVN的搭建(权限配置篇)

    如要转载,请注明出处! 两个问题: 如何维护多个目录或者仓库 目录权限如何设置 ============================================================ ...

  2. Linux - CentOS6.5服务器搭建与初始化配置详解(上)

    1.新建一个虚拟机 选择典型 单机下一步 p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: ...

  3. Windows下SVN权限配置过程详解

    本节讲解一下Windows下SVN权限配置说明,针对的是一个目录下多库的情况,下面是具体的介绍,希望通过本文的学习,你能够对SVN权限配置问题有更加深刻的认识. 1.本文档适用于对Subvesion的 ...

  4. Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

    文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作 ...

  5. syslog-ng日志收集分析服务搭建及配置

    syslog-ng日志收集分析服务搭建及配置:1.网上下载eventlog_0.2.12.tar.gz.libol-0.3.18.tar.gz.syslog-ng_3.3.5.tar.gz三个软件: ...

  6. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 2.安装配置OpenStack基础服务

    节点配置情况说明: 控制节点:controller: IP:192.168.164.128 hostname&hosts:likeadmin 计算加点:Nova: IP:192.168.164 ...

  7. [译]SQL Server分析服务的权限配置

    简介: 本文介绍如何配置SSAS数据库和cube相关维度的安全设置. 相对数据引擎来说,在Management Studio中配置分析服务的安全设置基本没什么区别.但是也会有一些限制,比如SSAS的权 ...

  8. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  9. nfs服务权限配置

    nfs服务权限配置 1. 查看系统是否已经安装了服务Rpm -qa | grep nfs 2. 启动服务,并且开机自动运行Systemctl start nfsSystemctl enabled nf ...

随机推荐

  1. spark计算两个DataFrame的差集、交集、合集

    spark 计算两个dataframe 的差集.交集.合集,只选择某一列来对比比较好.新建两个 dataframe : import org.apache.spark.{SparkConf, Spar ...

  2. 死磕 java集合之LinkedHashMap源码分析

    欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. 简介 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问 ...

  3. Django2.1.2创建默认管理后台

    1.在app的models.py中添加以下代码: from django.db import models # Create your models here. # Register your mod ...

  4. transient和synchronized的使用

    transient和synchronized这两个关键字没什么联系,这两天用到了它们,所以总结一下,两个关键字做个伴! transient 持久化时不被存储,当你的对象实现了Serializable接 ...

  5. 如何零基础开始自学Python编程

    转载——原作者:赛门喵 链接:https://www.zhihu.com/question/29138020/answer/141170242 0. 明确目标 我是真正零基础开始学Python的,从一 ...

  6. 你真的会PHP吗?

    Note: 1) PHP中的数据类型 PHP一共支持八种数据类型, 4种标量类型,boolean(布尔型),integer(整形),float/double(浮点型)和string(字符串类型), 2 ...

  7. SLAM入门之视觉里程计(1):特征点的匹配

    SLAM 主要分为两个部分:前端和后端,前端也就是视觉里程计(VO),它根据相邻图像的信息粗略的估计出相机的运动,给后端提供较好的初始值.VO的实现方法可以根据是否需要提取特征分为两类:基于特征点的方 ...

  8. kubernetes进阶之一:简单例子

    kubernetes 从一个简单例子开始 参考 <kubernetes 权威指南>一节的 从一个简单例子开始,操作实录. 一.Java Web 应用结构 二.启动MySql服务 1.首先为 ...

  9. 基本 SQL 之增删改查(二)

    上一篇文章中,我们介绍了 SQL 中最基本的 DML 语法,包括 insert 的插入数据.update 的更新数据.delete 的删除数据以及基本的查询语法,但大多比较简单不能解决我们日常项目中复 ...

  10. Lambda表达式资料整理

    重温委托,匿名方法,Lambda,泛型委托,表达式树   第一:委托 有些教材,博客说到委托都会提到事件,虽然事件是委托的一个实例,但是为了理解起来更简单,今天只谈委托不谈事件.先上一段代码: 下边的 ...