vsftpd 虚拟用户的作用是 通过不同的虚拟用户可以有不同的根目录。

从 2.3.5 版本之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能在具有写权限了,如果检查发现还有写权限,就会报该错误!

500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

因此,本次分别用 Centos 6 和 Centos 7 来分别配置 vsftpd 虚拟用户

1. Centos6 vsftpd-虚拟用户配置

----------------------------------------------------
系统版本:CentOS release 6.7
vsftpd版本:vsftpd-2.2.2-24
虚拟用户:hkey
虚拟用户根目录:/data/hkey
----------------------------------------------------

# yum install vsftpd -y
# mkdir -pv /data/hkey
# sed -i -e 's/^anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/^write_enable=YES/#write_enable=YES/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/^#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/^pam_service_name=vsftpd/#pam_service_name=vsftpd/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/listen=NO/listen=YES/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/listen_ipv6=YES/#listen_ipv6=YES/g' /etc/vsftpd/vsftpd.conf
# echo -e 'pam_service_name=vsftpd.vu
virtual_use_local_privs=NO
guest_enable=YES
guest_username=root
user_config_dir=/etc/vsftpd/vconf' >> /etc/vsftpd/vsftpd.conf
# egrep -v '^#|^$' /etc/vsftpd/vsftpd.conf
#关闭匿名访问
anonymous_enable=NO
#启用本地系统用户,包括虚拟用户
local_enable=YES
#本地用户umask值
local_umask=022
dirmessage_enable=YES
#启用日志
xferlog_enable=YES
xferlog_std_format=YES
#关闭ftp-data端口,相当于不使用主动模式
connect_from_port_20=YES
#限制用户不能离开FTP主目录,启用并设置例外用户清单
chroot_local_user=YES
#使用ipv4进行监听
listen=YES
#启用全局用户例外清单
userlist_enable=YES
#启用tcp封装
tcp_wrappers=YES
#pam认证文件名称,位于/etc/pam.d/
pam_service_name=vsftpd.vu
#虚拟用户权限是否与本地用户相同。为NO时,将与匿名用户的权限相同,在每个虚拟用户配置文件里设置匿名用户的选项等于虚拟用户的权限
virtual_use_local_privs=NO
#启用guest后,所有非匿名用户将映射到guest_username进行访问,包括本地系统用户也不能使用,并且转换成一个虚拟用户,与其他虚拟用户的配置方法一样
guest_enable=YES
# 虚拟用户使用的主用户(这里使用 root是为了比较方便配置各种目录)
guest_username=root
#虚拟用户配置文件目录
user_config_dir=/etc/vsftpd/vconf
# mkdir /etc/vsftpd/vconf/

# 一行用户名,一行密码,严格遵守这样的格式
# cat /etc/vsftpd/vuser.txt
hkey
hkey123 # 生成数据库
# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db # 添加认证文件
# cat /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

【开放所有权限】

# cat /etc/vsftpd/vconf/hkey   

local_root=/data/hkey # 设置登录后禁锢的根目录
write_enable=yes # 开发写权限
anon_world_readable_only=no # 开放下载权限
anon_upload_enable=yes # 开放上传权限
anon_mkdir_write_enable=yes # 开放创建目录的权限
anon_other_write_enable=yes # 开放删除和重命名的权限

【只开启上传下载权限】

# cat /etc/vsftpd/vconf/hkey
local_root=/data/hkey
write_enable=YES
anon_world_readable_only=no
anon_upload_enable=yes

2. Centos7 vsftpd-虚拟用户配置

----------------------------------------------------
系统版本:CentOS release 7.0
vsftpd版本:vsftpd-3.0.2-22
虚拟用户:hkey
虚拟用户根目录:/data/hkey
----------------------------------------------------

# yum install vsftpd -y
# mkdir -pv /data/hkey
# sed -i -e 's/^anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/^write_enable=YES/#write_enable=YES/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/^#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/^pam_service_name=vsftpd/#pam_service_name=vsftpd/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/listen=NO/listen=YES/g' /etc/vsftpd/vsftpd.conf
# sed -i -e 's/listen_ipv6=YES/#listen_ipv6=YES/g' /etc/vsftpd/vsftpd.conf
# echo -e 'pam_service_name=vsftpd.vu
virtual_use_local_privs=NO
guest_enable=YES
guest_username=vuser
user_config_dir=/etc/vsftpd/vconf
allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf
# mkdir /etc/vsftpd/vconf/

# 一行用户名,一行密码,严格遵守这样的格式
# cat /etc/vsftpd/vuser.txt
hkey
hkey123 # 生成数据库
# db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db # 添加认证文件
# cat /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

【开放所有权限】

# cat /etc/vsftpd/vconf/hkey   

local_root=/data/hkey # 设置登录后禁锢的根目录
write_enable=yes # 开发写权限
anon_world_readable_only=no # 开放下载权限
anon_upload_enable=yes # 开放上传权限
anon_mkdir_write_enable=yes # 开放创建目录的权限
anon_other_write_enable=yes # 开放删除和重命名的权限

【只开启上传下载权限】

# cat /etc/vsftpd/vconf/hkey 
local_root=/data/hkey
write_enable=YES
anon_world_readable_only=no
anon_upload_enable=yes

vsftpd 虚拟用户配置的更多相关文章

  1. VSFTPD虚拟用户配置

    转载:http://www.cnblogs.com/allenjin/archive/2011/12/03/2274542.html 以下操作验证OK!!!! VSFTPD虚拟用户配置 VSFTP = ...

  2. 烂泥:ubuntu下vsftpd虚拟用户配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我微信ilanniweb. 以前搭建vsftpd都是在centos下,本以为在ubuntu按照以前的步骤搭建即可.可 ...

  3. [ 总结 ] vsftpd 虚拟用户配置

    需求:在不更改目录权限的前提下,ftp用户对目录里的文件拥有所有权. [root@server2 ~]# yum install vsftpd -y [root@server2 ~]# cd /etc ...

  4. vsftpd虚拟用户创建实例(转载)

    vsftpd虚拟用户创建实例 发布:theboy   来源:net     [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下.  vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...

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

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

  6. vsftpd安装及虚拟用户配置

    服务器环境:CentOS6.9 Linux 2.6.32-696.10.1.el6.x86_64 安装vsftpd.db4.db4-utils # yum -y install vsftpd db4 ...

  7. Ubuntu 12.04 LTS为例演示vsftpd虚拟用户 的配置

    vsftpd虚拟用户   2012-05-19 15:46:59|  分类: GNU/Linux |  标签:ubuntu  vsftpd  ftp  虚拟用户  |举报|字号 订阅 我们登录FTP有 ...

  8. vsftpd服务安装与虚拟用户配置

    vsftpd的全名是“Very secure FTP Daemon” 一.安装vsftpd安装db4-util用于生成认证文件 yum -y install db4-utils 安装vsftpd yu ...

  9. Vsftpd虚拟用户登陆配置(Centos7)

    1 安装Vsftpd服务 # yum install vsftpd -y vsftp虚拟用户是为了保证FTP服务器的安全性,由vsftpd服务器提供的非系统用户账号, 相对于FTP的本地用户来说,虚拟 ...

随机推荐

  1. 【题解】CF#285 E-Positions in Permutations

    挺有收获的一道题ヾ(◍°∇°◍)ノ゙ 恰好为 m ,这个限制仿佛不是很好处理.一般而言,我所了解的恰好为 k 的条件,不是用组合数 / dp状态转移 / 斜率二分就只剩下容斥了.我们可以先处理出 nu ...

  2. 1040: [ZJOI2008]骑士

    首先是因为想学仙人掌图才来先拿这题热热身,结果&……竟然调了一个晚上我的傻叉!(其中一大半的时候是在郁闷hzwer和Greens的代码画风不一样,后来才发现一个用拓扑一个用树dp23333,以 ...

  3. libudev使用说明书

    转http://blog.csdn.net/coroutines/article/details/38067805 1. 初始化 首先调用udev_new,创建一个udev library conte ...

  4. 爬虫实例——爬取淘女郎相册(通过selenium、PhantomJS、BeautifulSoup爬取)

    环境 操作系统:CentOS 6.7 32-bit Python版本:2.6.6 第三方插件 selenium PhantomJS BeautifulSoup 代码 # -*- coding: utf ...

  5. train val test区别

    train是训练集,val是训练过程中的测试集,是为了让你在边训练边看到训练的结果,及时判断学习状态.test就是训练模型结束后,用于评价模型结果的测试集.只有train就可以训练,val不是必须的, ...

  6. UVA315:Network(求割点)

    Network 题目链接:https://vjudge.net/problem/UVA-315 Description: A Telephone Line Company (TLC) is estab ...

  7. [linux]ubuntu限速软件

    wondersharper 1 安装wondershaper:sudo apt-get install wondershaper2 限制下载,上传速度(1500是限制下载速度(实际限速150k左右), ...

  8. bzoj 4402 Claris的剑 组合数学

    Claris的剑 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 375  Solved: 213[Submit][Status][Discuss] D ...

  9. 分割png图片

    /*** * 分割图片 */public function cut_img(){ $filename = 'site_upload/form_file_forinput/20180313/201803 ...

  10. maven中net.sf.json报错的解决方法(转载)

    原文:http://www.cnblogs.com/winner-0715/p/5928514.html 今天在用maven添加net.sf.json的jar包的时候,代码如下: <depend ...