引用一个其他大佬对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. sklearn的kmeans测试

    由于需要海量的进行聚类,所以将 k-means 算法自我封装成一个方便利用的库,可以直接调用得到最优的 k值 和 中心点: #!/usr/bin/python3.4 # -*- coding: utf ...

  2. IdentityServer4实战 - 必须使用HTTPS问题解析

    一. 前言 关于必须使用HTTPS这个问题,很多朋友都在群里问到了,不过由于这个问题很简单,一直也没通过文章的方式记录下来,今日有时间,便说说它的前因后果吧,给需要的人解惑~. 二. 问题发生 本文所 ...

  3. SpringBoot入门教程(五)Java基于MySQL实现附近的人

    “附近的人”这个功能估计都不陌生,与之类似的功能最开始是在各大地图应用上接触过,比如搜附近的电影院,附近的超市等等.然而真正让附近的人火遍大江南北的应该是微信"附近的人"这个功能, ...

  4. 通过Python、BeautifulSoup爬取Gitee热门开源项目

    一.安装 1.通过requests 对响应内容进行处理,requests.get()方法会返回一个Response对象 pip install requests 2.beautifulSoup对网页解 ...

  5. [Leetcode]100. Same Tree -David_Lin

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  6. 前端笔记之JavaScript(四)关于函数、作用域、闭包那点事

    一.自定义函数function 函数就是功能.方法的封装.函数能够帮我们封装一段程序代码,这一段代码会具备某一项功能,函数在执行时,封装的这一段代码都会执行一次,实现某种功能.而且,函数可以多次调用. ...

  7. C++STL模板库关联容器之set/multiset

    目录 一丶关联容器简介.set/multiset 二丶演示代码. 一丶关联容器简介.set/multiset 我们的序列容器,底层都是线性表构成的. 比如 vector list deque. 关联容 ...

  8. JDK源码分析(1)之 String 相关

    ​在此之前有无数次下定决心要把JDK的源码大致看一遍,但是每次还没点开就已被一个超链接或者其他事情吸引直接跳开了.直到最近突然意识到,因为对源码的了解不深导致踩了许多莫名其妙的坑,所以再次下定决心要把 ...

  9. NFS的安装

    NFS的安装鸟哥地址:http://vbird.dic.ksu.edu.tw/linux_server/0330nfs_2.php 13.2 NFS Server 端的设定 既然要使用 NFS 的话, ...

  10. [十四]JavaIO之PrintStream

    功能简介   PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式 装饰器模式中具体的装饰类 它提供的功能就是便捷的打印各种数据形式 FilterInputStrea ...