系统环境 centos7.3 版本

ftp 根目录 : /data/ftp
ftp 配置文件目录:/etc/vsftpd
ftp 虚拟用户权限配置文件目录:/etc/vsftpd/vuser_config

实现目标:

1,匿名用户可以登录,但是不能访问虚拟用户的宿主目录,只能访问共享目录
2,虚拟用户对自己的宿主目录有任何权限,且只能在自己宿主目录中操作


1,安装vsftpd和db_load加密工具

1

2

3

4

5

6

#要关闭selinux 和防火墙或者开启允许的端口,不然访问会有问题

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config #修改配置文件

setenforce 0  #临时关闭

systemctl stop firewalld.service #关闭防火墙

yum install vsftpd db4-utils -y

2,创建本地用户[用于映射虚拟用户]

1

2

3

4

5

6

7

#建立ftp用户目录

mkdir -p /data/ftp

#创建用户

useradd -d /data/ftp vuser -s /sbin/nologin

更改权限和主组权限

chmod 755 /data/ftp

chown vuser.root /data/ftp

3,创建虚拟用户[用户和密码]文件

1

2

3

4

5

vim /etc/vsftpd/vuser-list

jin [用户名]

123456 [密码]

jinc [用户名]

123123 [密码]

4,加密用户密码文件生成数据库文件

1

2

3

4

cd /etc/vsftpd/

db_load -T -t hash -f ./vuser-list ./vuser-list.db

chmod 600 vuser-list.db

5,创建PAM认证文件

1

2

3

4

vim /etc/pam.d/vuser.vu

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser-list    #注意64位系统写/lib64这个路径,32位系统要写成/lib,下同!

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser-list

6,修改配置文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

vim /etc/vsftpd/vsftpd.conf

#允许匿名用户访问

anonymous_enable=yes

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

#修改ftp默认目录到/data/ftp下面

chroot_local_user=YES

local_root=/data/ftp

anon_root=/data/ftp

#pam认证文件

pam_service_name=vuser.vu

#虚拟用户权限配置目录

user_config_dir=/etc/vsftpd/vuser_config

userlist_enable=YES

tcp_wrappers=YES

allow_writeable_chroot=YES

one_process_model=NO

#开启虚拟用户

guest_enable=YES

guest_username=vuser

重启vsftpd服务

systemctl restart vsftpd.service

7,创建虚拟用户[权限]配置文件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

cd /etc/vsftpd/vuser_config

vim jin [有所有权限]

local_root=/data/ftp/jin #设置登录后禁锢的目录

write_enable=yes #开放写权限

anon_world_readable_only=no #开放下载权限

anon_upload_enable=yes #开放上传权限

anon_mkdir_write_enable=yes #开放创建目录的权限

anon_other_write_enable=yes #开放删除和重命名的权限

vim jinc [只有上传下载的权限]

local_root=/data/ftp/jinc

anon_upload_enable=yes

anon_world_readable_only=no

8,更改虚拟用户目录权限

1

2

3

#如果不更改的话,匿名用户是可以访问到的

chmod 700 jin

chmod 700 jinc

9,访问测试:[先在用户文件夹中建个测试的文件夹或文件,方便识别]

匿名访问

登录jin 用户访问:

登录jinc 用户访问:


错误1:226 Transfer done (but failed to open directory)
解决:selinux 和防火墙导致

错误2:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决:配置文件中加入 allow_writeable_chroot=YES 针对标准vsftpd(standonly)模式, 然后重启ftp

本文转自无形于有形  51CTO博客,原文链接:http://blog.51cto.com/jinchuang/1947579,如需转载请自行联系原作者

centos7 安装vsftpd和配置以及虚拟用户权限分配相关推荐

  1. Linux下vsftpd基本配置和虚拟用户设置的安全方法

    PS:很长时间偶习惯用sftp.vsftpd很久没用了,现在还是需要使用,偶把基本的配置和虚拟用户设置方法总结一下,vsftpd的虚拟用户实现方法有很多种,个人认为下面的方法还是最简单的.建议在生产环 ...

  2. vsftpd安装以及配置FTP虚拟用户实践

    前言正如vsftpd官方宣传中所说Probably the most secure and fastest FTP server for UNIX-like systems.我相信这是大多数人选择vs ...

  3. centos5.8 安装配置vsftp虚拟用户

    vsftp因为公司时不时要用,也不是经常弄ftp,不常用就老是忘记有些东西,所以就在网上查些资料和自己遇到的一些问题结合起来写一个文档,以后需要使用ftp的时候搭建比较方便,使用虚拟用户不用担心用户登 ...

  4. Centos7安装RocketMQ及配置测试

    环境 Centos7 RocketMQ 3.2.6 安装位置 /usr/local/alibaba-rockermq 外网ip 182.254.145.66 内网ip 10.105.23.114 安装 ...

  5. Centos7安装vsftpd (FTP服务器)

    Centos7安装vsftpd (FTP服务器) 原文链接:https://www.jianshu.com/p/9abad055fff6 TyiMan 关注 2016.02.06 21:19* 字数 ...

  6. Jenkins——Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包)

    Jenkins--Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包) 持续集成及Jenkins介绍 软件开发生命周期 什么是持续集成? 持续集 ...

  7. centos7安装docker并配置镜像加速

    Centos7安装docker 并配置镜像加速 1.如果系统上之前有安装过docker 那么就需要先执行下面的命令 删除旧版本docker sudo yum remove docker \docker ...

  8. Centos7安装Nginx并配置开机自启

    Centos7安装Nginx并配置开机自启 1.常用命令 #开机自启 chkconfig nginx on #启动nginx服务 systemctl start nginx.service #停止ng ...

  9. 本地策略和组策略,更改安全设置和用户权限分配兼容性问题

    如果您更改安全设置和用户权限分配,则可能会导致客户端.服务和程序问题发生 适用于: Microsoft Windows Server 2003 Standard Edition (32-bit x86 ...

最新文章

  1. Deseq的理论基础
  2. 提高电脑反应速度_宁美千元价电脑,一体机设计+21英寸屏,办公娱乐选它
  3. mysql的瓶颈_MySQL瓶颈分析与优化
  4. Java开发人员应该知道的7种新工具
  5. iOS:多线程技术GCD的使用
  6. 反编译后怎么修改服务器地址,反编译后怎么修改服务器地址
  7. java开发者工具开源版_开源工具如何帮助飓风受害者
  8. Objective-C的hook方案(一): Method Swizzling
  9. Html5 Canvas动画基础碰撞检测的实现
  10. 正点原子战舰(STM32F103ZET6) 跑蓝牙协议栈 --传统蓝牙搜索演示以及实现原理
  11. vbs 打开指定浏览器网页
  12. 2021年度训练联盟热身训练赛第四场 I.Slot Machines【KMP】
  13. Java笔记:Java的三种页面跳转方法(setHeader,SendRedirect,forward)
  14. 3D激光SLAM:LeGO-LOAM论文解读---激光雷达里程计与建图
  15. LeetCode 974. 和可被 K 整除的子数组 | Python
  16. android组合控件的焦点,撸一个简单的TV版焦点控制的日历控件
  17. htcm8 android8,HTC全面屏手机 U11 Plus曝光:6寸+骁龙835,安卓8.0系统
  18. 举例说明一下常见的弱口令_幼儿语言表达弱,该怎么训练?
  19. spring cloud oauth2系列篇(三)password模式获取access_token
  20. 逆向工程---IA32寄存器

热门文章

  1. bzoj 2560: 串珠子【状压dp】
  2. 计蒜客---N的-2进制表示
  3. JS_模拟广告栏跟随效果
  4. (二十五)深度学习目标检测:RCNN
  5. Eigen库数据结构内存对齐问题
  6. 嵌入式linux系统移植的四大步骤_嵌入式 Linux 产品技术评估之系统裁剪与启动速度...
  7. c语言编程 scant,C语言编程练习章.doc
  8. linux 安装mysql 云盘_linux下 安装mysql教程
  9. html5光标进去默认值消失,html点击input没有出现光标怎么办
  10. 流放之路材质过滤怎么设置_用一张漫反射贴图可以做写实材质吗?