安装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. ubuntu 12.04 mysql转移目录后 无法 启动

    http://www.boyunjian.com/do/article/snapshot.do?uid=com.iteye.xgbjmxn%2Fblog%2F1208086(转,)     我是用ap ...

  2. git 备份和恢复

    实际应用 设置之前要在个人用户设置中增加key(为了备份ssh的项目) 备份 进入ditlab容器 cd /home/git/gitlab bundle exec rake gitlab:backup ...

  3. JQuery上传插件Uploadify

    一:官网 http://www.uploadify.com/ 二:引用 <link href="plug-in/uploadify3.2.1/uploadify.css" r ...

  4. docker的基本使用

    docker 基本的使用命令docker pull centos:latestdocker images centosdocker run -i -t centos /bin/bash //也可以使用 ...

  5. c# winform textbox与combox让用户不能输入

    textbox的ReadOnly属性设置为true combox的Enable属性设置为false 运行后效果如下 点击第一个和第二个,会把按钮text赋值给文本框和combox 并且用户不能输入

  6. 全面理解.htaccess语法中RewriteCond和RewriteRule意义

    RewriteCond的语法 RewriteCond TestString CondPattern [Flags]其中的TestString是指一个文本格式的条件,例子中用的是环境变量名HTTP_HO ...

  7. 经典的C程序

    程序一:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 #include<stdio.h> void main(){ int a, b, c, i; ; ...

  8. Presto: 可以处理PB级别数据的分布式SQL查询引擎

    2012年秋季Facebook启动了Presto,Presto的目的是在几百PB级别数据量上面进行准实时分析.在摒弃了一些外部项目以后,Facebook准备开发他们自己的分布式查询引擎.Presto的 ...

  9. C++语言十进制数,CDecimal(未完成)

    在C#和Java中都有存在decimal类似的十进制数字,C++中尚未发现,春节假期忙里抽闲写了一个玩玩,时间紧迫没有测试,只能保证编译通过.抛砖引玉,欢迎大家多提建议 当前缺陷: 1. 除法功能没有 ...

  10. [转]如何根据cpu的processor数来确定程序的并发线程数量

    原文:http://blog.csdn.net/kirayuan/article/details/6321967 我们可以在cat 里面发现processor数量,这里的processor可以理解为逻 ...