1. 安装vsftpd及pam认证服务软件

yum  install vsftpd*  -y
yum install pam* libdb-utils libdb* --skip-broken -y
#设置开机启动
systemctl enable vsftpd.service #启动
systemctl start vsftpd.service

2. 配置/etc/vsftpd/vsftpd.conf 文件

listen=YES    #若设定为 YES 表示 vsftpd 是以 standalone 的方式来启动的
anonymous_enable=NO #静止匿名登录
local_enable=YES #设定本地用户可以访问
local_umask=022 #设定上传后文件的权限掩码
dirmessage_enable=YES #设定开启目录标语功能
use_localtime=YES
xferlog_enable=YES #设定开启日志记录功能
connect_from_port_20=YES #设定端口20进行数据连接 chroot_local_user=YES #禁止用户访问除主目录以外的目录
local_root=/data/vsftpd #访问的目录
ascii_upload_enable=YES
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能 pam_service_name=vsftpd #设定,启用pam认证
guest_enable=YES #启动虚拟用户
guest_username=vsftpd #虚拟用户使用的系统用户名
user_config_dir=/etc/vsftpd/vsftpd_user_conf #虚拟用户使用的配置文件目录
virtual_use_local_privs=YES #虚拟用户和本地用户有相同的权限
allow_writeable_chroot=YES #只能访问自身所属目录,否则会有 500 错误

3. 创建虚拟用户

创建vsftpd系统用户
#useradd vsftpd -d /data/vsftpd -s /sbin/nologin
#chown -R vsftpd:vsftpd /data/vsftpd 填写用户名good和密码123,其它依次填写
#vim /etc/vsftpd/ftpuser.txt
good 生成数据库文件
#db_load -T -t hash -f /etc/vsftpd/ftpuser.txt /etc/vsftpd/vsftpd_login.db
在/etc/pam.d/下创建配置vsftpd的数据库pam认证文件vsftpd,其它注释或删掉
#vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
配置good用户
#mkdir -p /etc/vsftpd/vsftpd_user_conf
#vim /etc/vsftpd/vsftpd_user_conf/good
local_root=/data/vsftpd/good
write_enable=YES
#mkdir -p /data/vsftpd/good

4. 配置selinux

查看 selinux配置
[root@localhost ~]# getsebool -a | grep ftpd
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
使能ftpd_full_access
#setsebool -P allow_ftpd_full_access 1
需要防火墙添加FTP服务。
#firewall-cmd --permanent --zone=public --add-service=ftp
#firewall-cmd --reload

5. 重启vsftpd并测试

[root@localhost ~]#systemcl restart vsftpd.service

[root@localhost ~]# ftp localhost
Trying ::...
ftp: connect to address ::1拒绝连接
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
(vsFTPd 3.0.)
Name (localhost:root): good
Please specify the password.
Password:
Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
Entering Passive Mode (,,,,,).
Here comes the directory listing.
-rwxrwxrwx Sep : good
-rwxrwxrwx Sep : test2
Directory send OK.
ftp>

6. 虚拟用户权限配置

管理员权限
local_root=/data/vsftpd
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES 只能读写不能修改删除
local_root=/data/vsftpd/good
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
virtual_use_local_privs=NO 只能读
local_root=/data/vsftpd
anon_world_readable_only=NO

参考文献:

https://www.cnblogs.com/chenbaoli/p/8195697.html

https://blog.csdn.net/xujin12368/article/details/80920246

http://www.cnblogs.com/fengdejiyixx/p/9324689.html

https://blog.csdn.net/programer_bei/article/details/52333586

centos7.3 vsftpd 多用户配置的更多相关文章

  1. Centos6.9安装vsftpd并配置多用户的方法

    本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下: 一.安装vsftpd ? 1 2 3 4 5 6 7 8 #安装vsftpd yum -y install vs ...

  2. vsftpd安装配置以及常见问题解决

    vsftpd安装配置以及踩坑解决办法,Centos7 nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因) 配置nginx教程:http://blog. ...

  3. CentOS7 安装 vsftpd 服务

    CentOS7 安装 vsftpd 服务 0.FTP简介 FTP服务是一个跨平台的文件共享解决方案 0.1.FTP两种模式的区分:服务端的主被动模式 1)ftp一般分为两种模式,PORTFTP和PAS ...

  4. vsftpd 安装配置

    # vsftp 安装yum install vsftpd -y # 配置用户名密码时需要yum install db* db4* -y# 启动vsftpdservice vsftpd start # ...

  5. 转载:Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  6. [原创]Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  7. centos7+redis+php环境配置

    centos7+redis+php环境配置 下载redis(更多版本可到redis官网进行查找) wget http://download.redis.io/releases/redis-3.0.7. ...

  8. CentOS7下Firewall防火墙配置用法详解

    官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...

  9. ubuntu samba服务器多用户配置【转】

    转自:http://www.2cto.com/os/201204/127043.html ubuntu samba服务器多用户配置   在/home/下有多个用户目录A.B...,现通过samba共享 ...

随机推荐

  1. QT网络编程Tcp下C/S架构的即时通信

    先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include <QDialog> #in ...

  2. 【深入理解JAVA虚拟机】第二部分.内存自动管理机制.1.内存区域

    1.内存区域 根据<Java虚拟机规范(Java SE 7版)> 的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示.  程序计数器 当前线程所执行的字节码的行号指 ...

  3. Adobe flash player 因过期而遭到阻止解决办法

    最近使用谷歌浏览器时总是提示Adobe flash player 因过期而遭到阻止,这让人很头痛,基本上就是打开一个网页就会弹出一个提示,下面是解决办法. 问题的截图界面: 解决方法:在chrome浏 ...

  4. 【[POI2006]OKR-Periods of Words】

    很妙的一道题 感觉又加深了对\(KMP\)还有\(next\)数组的理解 先来看看这个鬼畜的题意,大致就是给你一个字符串,对于这个字符串的每一个前缀,要去找到这个前缀的一个最长的前缀,使得前缀成为这个 ...

  5. [USACO07DEC]Sightseeing Cows

    嘟嘟嘟 这题好像属于01分数规划问题,叫什么最优比率生成环. 题目概括一下,就是求一个环,满足∑v[i] / ∑c[i]最大. 我们可以堆上面的式子变个型:令 x = ∑v[i] / ∑c[i],则x ...

  6. Linux CentOS6系统安装最新版本Node.js环境及相关文件配置

    Node.js,当前应用非常广泛的Javascript运行环境,采用C++编写的,目前应用较多的用于WEB应用中,执行效率还是非常高的,虽然老左不从业程序的开发,但是有些时候在玩VPS的时候还是会遇到 ...

  7. xampp安装及使用时的问题总结

    本文主要介绍易错点,具体安装过程可参考链接1 1.首先要以管理员身份运行,否则报错. 2.如果你的网站首页名字不是index,那么你在访问的时候就必须输入你首页的全称. 3.htdocs就是网站的根目 ...

  8. 匹配iPhoneX

    1.header中加一下标签 <meta name="viewport" content="width=device-width,initial-scale=1,m ...

  9. logback配置与使用(2)

    转载:yaoh371 的logback.xml常用配置 <?xml version="1.0" encoding="UTF-8"?> <!-- ...

  10. [转]MFC子线程中更新控件内容的两种办法

    一.概述 每个系统中都有线程(至少都有一个主线程),而线程最重要的作用就是并行处理,提高软件的并发率.针对界面来说,还能提高界面的响应能力.一般的,为了应用的稳定性,在数据处理等耗时操作会单独在一个线 ...