安装vsftpd软件包
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# yum install db4 db4-utils

建立vsftpd服务的宿主用户
[root@localhost ~]# useradd vir -s /sbin/nologin

创建日志文件
[root@localhost ~]# touch /var/log/vsftpd.log
[root@localhost ~]# chown vir:vir /var/log/vsftpd.log

修改 vsftp 配置文件
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
#不允许匿名访问
anonymous_enable=NO
#本地用户可以访问
local_enable=YES
#使用户不能离开主目录
chroot_list_enable=YES
#允许上传
ascii_upload_enable=YES
#支持ASCII模式的下载功能
ascii_download_enable=YES
#千万别忘记添加
pam_service_name=vsftpd

#手工输入以下参数和值
#开启虚拟用户的功能
guest_enable=YES
#指定虚拟用户的宿主用户
guest_username=vir
user_config_dir=/etc/vsftpd/vuser_conf
#vsftpd的服务日志保存路径,默认不存在
xferlog_file=/var/log/vsftpd.log

先建立虚拟用户名单文件
[root@localhost ~]# vi /etc/vsftpd/vsftp_users.conf
#输入奇数行为账号,偶数行为密码
yb1 #账号
abcd1234 #密码
yb2
abcd1234

生成认证文件
db_load 找不到的话就先安装 db4-utils(yum install db4 db4-utils)
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftp_users.conf /etc/vsftpd/vsftp_users.db
修改其权限
[root@localhost ~]# chmod 600 /etc/vsftpd/vsftp_users.db

编辑认证文件,清空或注释文件中全部内容(保留第一行内容)
[root@localhost ~]# vi /etc/pam.d/vsftpd
清空之后,再输
auth required pam_userdb.so db=/etc/vsftpd/vsftp_users
account required pam_userdb.so db=/etc/vsftpd/vsftp_users

建立虚拟用户配置文件存放位置
[root@localhost ~]# mkdir /etc/vsftpd/vuser_conf/

自定义用户(可以分别设置不同虚拟用户权限等)
[root@localhost ~]# vi /etc/vsftpd/vuser_conf/yb1

添加以下内容
local_root=/data01/yb1 #虚拟用户yb2根目录
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

[root@localhost ~]# vi /etc/vsftpd/vuser_conf/yb2

添加以下内容
local_root=/data01/yb2 #虚拟用户yb2根目录
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

OK了,启动或重启 vsftp
[root@localhost ~]# systemctl vsftpd restart(重启 restart)

连接 FTP 时若提示错误:vsftpd 530 login incorrect
原因:/etc/vsftpd.conf参数配置里面有空格
解决方法:去掉空格

连接 FTP 时若提示错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
原因:vsftpd的安全规则是不允许ftp用户对ftp根目录有可写权限,因此那个ftp用户就被服务器拒绝了。
解决方法:
chmod a-w /data01/yb1
chmod a-w /data01/yb2

RHEL7 -- Linux搭建FTP虚拟用户的更多相关文章

  1. Linux 下 FTP虚拟用户的使用配置

    Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...

  2. Linux Centos 通过虚拟用户访问FTP的配置

    Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...

  3. 使用Linux搭建FTP服务器实现文件共享

    使用Linux搭建FTP服务器实现文件共享... ---------------- Linux中的文件共享:FTPVSFTPDVSFTPD虚拟用户 FTP可以用在Linux与Linux 和Window ...

  4. Linux下FTP虚拟账号环境部署总结

    vsftp的用户有三种类型:匿名用户.系统用户.虚拟用户.1)匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous.2)本地用户登录:使用系统用户登录,在/etc/passwd中 ...

  5. Linux 搭建FTP

    Linux 搭建FTP 步骤一:安装 vsftpd 1,运行以下命令安装 vsftpd. yum install -y vsftpd 出现下图表示安装成功. 2,打开etc/vsftpd cd /et ...

  6. Linux下FTP虚拟账号环境部署简述

    vsftp的用户有三种类型:匿名用户.系统用户.虚拟用户.1)匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous.2)本地用户登录:使用系统用户登录,在/etc/passwd中 ...

  7. 007.FTP虚拟用户访问

    一 虚拟用户优点 可对每个用户进行单独设定权限. 每个用户单独配置文件,单独指定主目录,而不能访问系统的其它资源. 注意:虚拟用户目录和本地用户访问目录不冲突. 二 配置虚拟用户步骤 添加虚拟用户口令 ...

  8. CentOS 7搭建vsftp(虚拟用户方式登录)

    说明: vsftpd的版本:vsftpd-3.0.2-22.el7.x86_64 ftp 根目录 : /data/ftp ftp 配置文件目录:/etc/vsftpd ftp 虚拟用户权限配置文件目录 ...

  9. CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FT ...

随机推荐

  1. 使用SqlBulkCopy批量插入多条数据进入表中

    由于工作中项目需求结算一次生成一批相同批次号的数据插入一个表中,然后再通过另一页面展示出来,所以需要用到一次性插入一批数据,所以就采用了SqlBulkCopy插入一批数据 1 public stati ...

  2. <汇编语言系列>计算机硬件系统与汇编

    寒假时,有幸拜读了卡内基-梅隆大学(CMU)的Randal E.Bryant 和 David R.O'Hallaron的名著——深入理解计算机系统(Computer System: A Program ...

  3. 数据库开发 MySQL

    MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也 ...

  4. yii2源码学习笔记(十九)

    view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...

  5. PHP正则表达式 验证电子邮件地址

    我们最经常遇到的验证,就是电子邮件地址验证.网站上常见.各种网页脚本也都常用“正则表达式”(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法.有的还能分解出用户名和 ...

  6. 字符串匹配的python实现

    所有字符串匹配算法的核心问题是,当出现不匹配时,如何向后移动模式串 一.暴力匹配算法 如果要匹配一个字符串s 和一个模式串p,则从i=0开始依次匹配s[i:(i+len(p))],简单粗暴,代码如下: ...

  7. 【转】【Top 100 Best Blogs for iOS Developers】

    原文地址:http://www.softwarehow.com/best-blogs-for-ios-developers/ (by JP Zhang | Last updated: Apr 5, 2 ...

  8. Java集合类操作优化总结

    清单 1.集合类之间关系 Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHas ...

  9. C++中二维数组的动态创建与处理

    C++中用new动态创建二维数组的格式一般是这样: TYPE (*p)[N] = new TYPE [][N]; 其中,TYPE是某种类型,N是二维数组的列数.采用这种格式,列数必须指出,而行数无需指 ...

  10. 布局(layout)文件图形界面不能显示:An error has occurred. See error log for more details. java.lang.NullPointe

    #问题解析# Android工程中Layout文件夹下的布局文件图形界面无法显示,一般发生这种情况在导入工程操作后极易出现,因为可能eclipse使用的sdk版本不同,target类型不同,所用And ...