一 虚拟用户优点

  • 可对每个用户进行单独设定权限。
  • 每个用户单独配置文件,单独指定主目录,而不能访问系统的其它资源。

注意:虚拟用户目录和本地用户访问目录不冲突。

二 配置虚拟用户步骤

  1. 添加虚拟用户口令文件
  2. 生成虚拟用户口令认证文件
  3. 编辑vsftp的PAM认证文件
  4. 建立本地映射用户并设置宿主目录权限
  5. 修改配置文件
  6. 重启vsftp服务,并测试
  7. 调整虚拟用户权限

三 添加虚拟用户口令文件

 [root@imxhy ~]# vi /etc/vsftpd/vuser.txt
#新建可用于登录FTP的虚拟用户文件,文件名可自定义,生成db数据库之后可删除此文件
ftptest01 #用户名
abcdefg #密码
ftptest02 #用户2
abcdefg #密码
ftptest03 #用户3
abcdefg #密码

四 生成虚拟用户口令认证文件

4.1 安装口令认证命令

 yum -y install db4-utils		#安装后才有db_load命令

4.2 将文本转变为认证的数据库

 db_load -T -t hash -f /etc/vsftpd/ vuser.txt /etc/vsftpd/vuser.db
#将明文用户文件转成数据库文件,数据库文件名可自定义
[root@imxhy ~]# ls -l /etc/vsftpd/
total 40K
-rw-r--r--. 1 root root 9 Aug 28 20:30 chroot_list
-rw-------. 1 root root 125 Aug 28 20:55 ftpusers
-rw-------. 1 root root 369 Aug 28 20:56 user_list
-rw-------. 1 root root 5.0K Aug 28 21:44 vsftpd.conf
-rwxr--r--. 1 root root 338 Mar 31 23:12 vsftpd_conf_migrate.sh
-rw-r--r--. 1 root root 12K Aug 28 22:38 vuser.db #转换后的数据库文件
-rw-r--r--. 1 root root 54 Aug 28 22:27 vuser.txt

五 编辑vsftp的PAM认证文件

注意:vsfp的pam认证默认是针对本地用户的。

5.1 添加新的虚拟PAM配置项

说明:

  • 若要本地用户无法登陆,则直接在原pam认证文件注释掉原来针对本地用户的配置项,再添加虚拟认证项即可;
  • 不可将local_enable=YES修改为NO,因为虚拟用户登陆也是把模拟用户映射到本地用户,因此此处必须为YES。
  • 若要保留本地用户登陆,可新建用户虚拟用户的pam认证文件
  • 32位和64位系统添加项有区别,一定要注意。
 [root@imxhy ~]# vi /etc/pam.d/vsftpd.vu		#新建针对虚拟用户的PAM认证文件
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
#32位系统--之前创建的db数据库
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
#32位系统--之前创建的db数据库
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
#64位系统--之前创建的db数据库
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
#64位系统--之前创建的db数据库

六 建立本地映射用户并设置宿主目录权限

 [root@imxhy ~]# useradd -d /home/vftproot -s /sbin/nologin vuser
#建立所有虚拟用户的主目录,并映射至不可登录的vuser用户,用户名可自定义。
[root@imxhy ~]# chmod 555 /home/vftproot/ #修改相应的权限

七 修改配置文件

 [root@imxhy ~]# vi /etc/vsftpd/vsftpd.conf
anonymous=NO #关闭匿名用户
guest_enable=YES #打开虚拟用户登陆功能
guest_username=vuser #FTP虚拟用户对应的本地用户,即上一步创建的用户
pam_service_name=vsftpd.vu #PAM认证文件
anon_upload_enable=YES #给虚拟用户设定上传权限
anon_mkdir_write_enable=YES #给虚拟用户设定写入权限
anon_other_write_enable=YES #给其他用户设定写入权限

八 新建上传目录并设定权限

注意:在新版vsftp中,设定的映射本地用户vuser家目录权限不能具备w权限,否则无法登陆。

 [root@imxhy ~]# mkdir /home/vftproot/pub
#在虚拟用户的主目录之下再新建一层
用户上传的目录
[root@imxhy ~]# chown vuser:vuser /home/vftproot/pub
#将新建的目录所属人和所属组修改为虚拟用户

八 重启并测试

 [root@imxhy home]# systemctl restart vsftpd
E:\Temp\ftp>ftp 192.168.10.10
连接到 192.168.10.10。
220 (vsFTPd 3.0.2)
用户(192.168.10.10:(none)): ftptest01
331 Please specify the password.
密码:
230 Login successful.
ftp> get down.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for down.txt (0 bytes).
226 Transfer complete.
ftp> cd pub
250 Directory successfully changed.
ftp> put upload.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.

九 总结

  • 默认上传文件的位置是宿主用户家目录,若存在local_root则为此设置项目录。
  • 权限使用的你明用户权限进行管理。
  • 一定要关闭SElinux和防火墙iptables,也可以进行开放允许操作。

007.FTP虚拟用户访问的更多相关文章

  1. Centos下安装FTP并进行虚拟用户访问方式配置

    1. 安装认证所需包 [root@localhost]#yum install pam* [root@localhost]#yum install db4* 首先安装PAM(用于用户认证)和DB4(用 ...

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

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

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

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

  4. Linux系统学习 十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

    配置虚拟用户访问 首先至少要关闭userlist 改完配置文件是要重启服务来使它生效 其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的 local_root选项不影响 ...

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

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

  6. vsftpd搭建ftp服务,并实现虚拟用户访问

    安装vsftpd服务: yum install vsftpd -y [root@wadeson ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd /etc/pam. ...

  7. [vsftp服务]——ftp虚拟用户、权限设置等的实验

    搭建ftp服务器,满足以下要求: 1.允许匿名用户登录服务器并下载文件,下载速度设置为最高2MB/s 2.不允许本地用户登录ftp服务器 3.在服务器添加虚拟用户vuser01.vuser02.vus ...

  8. RHEL7 -- Linux搭建FTP虚拟用户

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

  9. 005.FTP本地用户访问

    一 新建本地用户 [root@imxhy ftp]# useradd ftpuser #用于登陆ftp的用户 [root@imxhy ftp]# passwd ftpuser Changing pas ...

随机推荐

  1. 洛谷P2605 基站选址

    神TM毒瘤线段树优化DP......新姿势get. 题意:有n个村庄,在里面选不多于k个建立基站. 建立基站要ci的费用.如果一个村庄方圆si内没有基站,那么又要支出wi的费用.求最小费用. 解:很显 ...

  2. Linux下使用cron让Python程序持久化运行

    正常情况下,一个python程序如果希望实现一直运行,不出错不奔溃是很难的,即使编译为可持续文件也是一样 幸运的是很多需求并不是需要24小时不间断运行,而是每隔一段时间运行一次即可 Linux系统自带 ...

  3. Nginx的基本配置案例

    Nginx的基本配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Nginx配置虚拟主机   .操作系统环境 [root@yinzhengjie ~]# cat /etc ...

  4. JXL读取,写入Excel

    JXL读取,写入Excel2003 相关阅读:poi 读写excel2003:http://www.cnblogs.com/gavinYang/p/3576739.htmlpoi 读写excel200 ...

  5. 新.Net架构必备工具列表

    N多年前微软官网曾发了.Net下必备的十种工具,N多年过去了,世异时移,很多东西都已经变化了,那个列表也似乎陈旧了.而且,该文也只是对十种工具独立的介绍,显得有些罗列的感觉,是不是每个工具都是同等重要 ...

  6. 从简单类型到复杂类型的参数传递用例,以及传递简单string类型的解决办法

    一,简单类型的传值   比如 public Users Get(int id) ,它可以使用两种方式获取:   api/default/5 $.get("/api/default" ...

  7. 关于sru源码class Model的parameters

    class Model(nn.Module): def __init__(self, words, args): super(Model, self).__init__() self.args = a ...

  8. 通过图片获取gps地理位置

    别人说通过一张照片就可以定位你的位置,看来个视频,仔细研究了一下自己的照片没想到真的可以做到,想想真的有点可怕. 如何通过一张照片去定位这张照片的经纬度下面我以我手机中的照片为例. 我们通过pytho ...

  9. 如何对xilinx FPGA进行bit文件加密

    记录背景:最近在用Vivado评估国外一个公司所提供的ISE所建的工程时,由于我并没有安装ISE工程,因此将其提供的所有v文件导入到Vivado中,对其进行编译.添加完之后成功建立顶层文件,但奇怪的是 ...

  10. gcc __attribute__关键字举例之visibility【转】

    转自:https://blog.csdn.net/starstarstone/article/details/7493144?utm_source=tuicool&utm_medium=ref ...