基于虚拟用户访问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. linux下编译安装mysql5.5以上版本

    安装cmake: tar zxvf cmake-2.8.4.tar.gz cd cmake-2.8.4 ./configure  --prefix=/usr/local/cmake make & ...

  2. 浅析 JavaScript 中的 函数 currying 柯里化

    原文:浅析 JavaScript 中的 函数 currying 柯里化 何为Curry化/柯里化? curry化来源与数学家 Haskell Curry的名字 (编程语言 Haskell也是以他的名字 ...

  3. GDI+ 摘要: 保存图像文件

    要保存图像文件,必须先获得图像的编码格式信息.可是GDI+没有直接提供这个函数:GetEncoderClsid(const WCHAR* format, CLSID* pClsid) 因此须要我们自己 ...

  4. 零基础学习iOS开发

    零基础学习iOS开发不管你是否涉足过IT领域,只要你对iOS开发感兴趣,都可以阅读此专题. [零基础学习iOS开发][02-C语言]11-函数的声明和定义 摘要: 在上一讲中,简单介绍了函数的定义和使 ...

  5. three.js 源代码凝视(十六)Math/Frustum.js

    商域无疆 (http://blog.csdn.net/omni360/) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:商域无疆 -  本博客专注于 敏捷开发 ...

  6. 在windows server2003下安装Redmine

    原文:在windows server2003下安装Redmine 参考文献:Windows下使用_Ruby1.9.3安装RedMine2.2.3 参考资料:http://www.redmine.org ...

  7. 为什么使用Ninject?

    Ninject 3 学习笔记 一.为什么使用Ninject? 分类: 程序2012-11-10 19:23 2209人阅读 评论(0) 收藏 举报 c#iocNinject框架注入 最近在使用IoC进 ...

  8. JAVA 作业:图形界面

    自己动手写的一个小JAVA 程序: 一个学生管理小系统,虽然很挫,但是这我学JAVA的第一步.学了2天JAVA没有白费! import java.awt.*; import java.awt.even ...

  9. Windows Store 应用

    使用 Project Siena 生成一个 Windows Store 应用   继 App Studio 之后微软又一力作 Project Siena [Win8 应用神器]给初学开发 或 对 Wi ...

  10. WebSocket在ASP.NET MVC4中的简单实现

    WebSocket在ASP.NET MVC4中的简单实现 2013-12-21 20:48 by 小白哥哥, 810 阅读, 3 评论, 收藏, 编辑 WebSocket 规范的目标是在浏览器中实现和 ...