引用一个其他大佬对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. python批量启动多线程

    还未了解多线程的请查看博文 python3多线程趣味详解 python3多线程趣味详解 只是介绍了 python 多线程的使用,对于批量启动线程来说有些不适用,于是出现如下方法: 建立一个线程池,并将 ...

  2. Python获取文件夹的名字

    dir = "../data/20170308/221.176.64.146/" # root 文件夹下的所有文件夹(包括子文件夹)的路径名字../data/20170308/22 ...

  3. bind(),unbind(),hover(),toggle(),animate()

    First.bind() bind(Type,fn) type:click/mouseover/mouseout fn:functionsecond.unbind() unbind(Type,fn) ...

  4. 环境与工具1:微信群刷屏 | itchat

    在微信群里面,"刷屏"的行为是被谴责的,伴随着"快发红包道歉"与"送飞机票"的出现.那如果小程硬是要做到"刷屏"来验证自 ...

  5. CSRF 漏洞测试

    CSRF简介: CSRF中文名:跨站请求伪造,英文译为:Cross-site request forgery,CSRF攻击就是attacker(攻击者)利用victim(受害者)尚未失效的身份认证信息 ...

  6. Docker Compose 之进阶篇

    笔者在前文<Docker Compose 简介>和<Dcoker Compose 原理>两篇文章中分别介绍了 docker compose 的基本概念以及实现原理.本文我们将继 ...

  7. 通过钩子程序跨程序关闭Window

    需求: 在实际场景中会有自身程序在调用第三方的动态库过程中,因为第三方的动态库弹框导致线程阻塞,必须手动将弹窗关闭后才能回到自身程序的主线程中. 最简单的场景就是很多自助设备,本身是没有固定操作员的, ...

  8. Python之文件和目录操作

    1.文件基本操作 python内置了打开文件的函数open(),使用规则如下:   File_object=open(filename[,access_mode][,buffering]) Filen ...

  9. 第53章 结束会话端点(End Session Endpoint) - Identity Server 4 中文文档(v1.0.0)

    结束会话端点可用于触发单点注销(请参阅规范). 要使用结束会话端点,客户端应用程序会将用户的浏览器重定向到结束会话URL.用户在会话期间通过浏览器登录的所有应用程序都可以参与注销. 注意 终端会话端点 ...

  10. 【微服务目录】.NET Core 微服务介绍

    介绍: 写这篇文章有多方面的原因,第一当然是为了以后自己可以随时翻阅,第二也算是一种积累吧.因为有些东西你弄个之后,过了很长时间不用,可能会有些忘却,但是你因为以前弄个吧,有不是那种小白,需要去找示例 ...