基于虚拟用户访问ftp
关闭防火墙,selinux

过程如下
1、装包,配置、起服务
配置过程如下:

需写入vsftpd.conf配置文件中的内容如下:

anonymous_enable=NO ---- 匿名用户可登陆
local_enable=YES ---- 本地用户可登陆
write_enable=YES ---- 可以写入
local_umask=022 ----- 设定umask值
dirmessage_enable=YES ---- 目录欢迎信息功能
xferlog_enable=YES ---- 启用日志
connect_from_port_20=YES ---- 链接端口是20
xferlog_std_format=YES ---- 日志格式
listen=YES ---- 开启监听(必须开启) RHEL7可以不开

pam_service_name=vsftpd ---- pam模块验证用户身份
userlist_enable=YES ---- 开启名单机制
tcp_wrappers=YES ----- 支持防火墙

1. yum provides */db_load 查找需要安装数据库建立工具的包,将其安装
RHEL7 需要安装 libdb-utils
2.建立虚拟用户列表
vim /etc/vsftpd/vsftp.users 一个虚拟用户文件,用户名和密码各占一行
xixi
123
haha
456

db_load -T -t hash -f /etc/vsftpd/vsftp.users /etc/vsftpd/vsftp.users.db --- 生成用户数据库文件
-T --- 支持多软件识别
-t --- 指定加密算法
-f --- 指定文件

3.建立一个不可登录用户用来作为虚拟用户的共享目录提供者
useradd -d /var/ftproot -s /sbin/nologin vftpuser
chmod 755 /var/ftproot --给与其他用户有写入权限

4.建立虚拟用户登录认证的pam模块
vim /etc/pam.d/vuserftp
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vsftp.users
account required pam_userdb.so db=/etc/vsftpd/vsftp.users

5.修改主配置文件使其支持虚拟用户验证登录
chroot_local_user=yes
guest_enable=YES
guest_username=vftpuser 与上面创建的用户对应
user_config_dir=/etc/vsftpd/vuserdir 设置的一个目录,重启服务自动生成
pam_service_name=vuserftp 与上面/etc/pam.d/vuserftp文件对应

/etc/init.d/vsftpd restart

如果访问报错refusing to run with writable root inside chroot()
配置文件写入allow_writeable_chroot=YES
重启服务

touch /etc/vsftpd/vuserdir/xixi
touch /etc/vsftpd/vuserdir/hahavi

6.为虚拟用户建立不同的权限
vim /etc/vsftpd/vuserdir/xixi
anon_upload_enable=YES
anon_umask=022

实验结果:
xixi用户可上传下载
haha用户只能下载,不能上传
有防火墙需要设置包括selinux

FTP之虚拟用户的更多相关文章

  1. CentOS FTP基于虚拟用户的配置

    详细可以看:http://www.linuxidc.com/Linux/2013-12/94242.htm 所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的.虚拟用户不能登录 ...

  2. Centos 7.5 搭建FTP配置虚拟用户

    Centos 7.5 搭建FTP配置虚拟用户 1.安装vsftpd #vsftpd下载地址 http://mirror.centos.org/centos/7/os/x86_64/Packages/v ...

  3. 《RHEL6.3 FTP服务器虚拟用户的配置(含图)》——如此简单

    虚拟用户就是传说中的ftp服务vip用户,大致分为这么几步: 1.安装ftp软件包 yum install *ftp* 2.启动vsftpd服务 /etc/init.d/vsftpd restart  ...

  4. FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)

               VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 首先安装   主配置文件:/etc/vsftpd/vsftpd. ...

  5. 008.FTP单独虚拟用户

    一 单独虚拟用户概念 给每个虚拟用户单独建立目录,并建立自己的配置文件,方便单独配置权限,并可以单独制定上传目录. 二 单独为虚拟用户设置权限 2.1 创建用户单独保存虚拟用户配置文件的目录 [roo ...

  6. ftp添加虚拟用户的实例

    本文主要讲解添加一个ftp虚拟用户的流程,接上文 https://www.cnblogs.com/tssc/p/9582780.html ========= 完美的分割线 ======== 1.修改授 ...

  7. ftp建立虚拟用户实现文件上传和下载

    环境 centos7 1.开启vsftpd服务 2.检查vsftpd服务是否开启 3.添加虚拟用户口令文件 vi etc/vsftpd/vuser.txt 4.生成虚拟用户口令认证文件 如果没有db_ ...

  8. ftp的虚拟用户的使用

    虚拟用户原理 因为在linux之下,使用vsftp建立用户之后,默认使用ftp访问的时候,是会访问到对应的用户家目录.如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能 ...

  9. FTP服务器虚拟用户配置

    FTP服务配置问题及解决方案 使用被动模式,设置云主机IP为被动模式数据传输地址:在配置文件内添加 pasv_enable=YES pasv_promiscuous=YES pasv_address= ...

随机推荐

  1. JS自动化测试 单元测试之Qunit

    前言 因为公司开发了一套javascript SDK需要测试,在网上找了很久,找到了JQuery团队开发的QUnit,和基于JUnit的JsUnit,还有一些还没有看,先讲讲QUnit吧 下载 登录J ...

  2. sql点滴42—mysql中的数据结构

    原文:sql点滴42-mysql中的数据结构 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小 ...

  3. web.xml运行序列总结

    在整个订单<context-param>--<listener>--<filter>--<servlet>. 其中,内的各类别中的序列被运行.和< ...

  4. JavaScript的闭包特性

    闭包是一个比较抽象的概念,尤其是对js新手来说.在这里,我就我个人的理解j简单谈一下: 闭包:官方解释是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部 ...

  5. C#:判断当前程序是否通过管理员运行

    原文:C#:判断当前程序是否通过管理员运行 public bool IsAdministrator() { WindowsIdentity current = WindowsIdentity.GetC ...

  6. php+ajax+json

    来个例子:(json.html) <html lang="en"> <head> <meta charset="UTF-8"> ...

  7. WebService支持多平台上传文件的实现

    WebService支持多平台上传文件的实现   要使用网站上传文件,在ASP.NET的范畴,我基本上能想到的有两类,一类是通过HTTP POST请求获得文件信息,另外一类是通过WebService或 ...

  8. 取得ASKII码值和汉语拼音

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXMAAACmCAIAAACnXPjtAAAgAElEQVR4nO2de3wb1YHv56+7e/fe/e ...

  9. JavaScript中Null和Undefined的深渊

    探索JavaScript中Null和Undefined的深渊 当讨论JavaScript中的原始数据类型时,大多数人都知道的基本知识,从String,Number到Boolean.这些原始类型相当简单 ...

  10. github上写个人简历

    随笔- 70  文章- 0  评论- 567  在github上写个人简历——先弄个主页   起因 不知道园友们在使用智联招聘等网站填写简历的时候对要求输入的内容有没有一种无力感,不吐槽了反正就一句话 ...