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

简介:

系统环境 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,如需转载请自行联系原作者



相关文章
|
9天前
|
安全 Linux 数据安全/隐私保护
centos如何将一般用户设置为超级权限
【4月更文挑战第17天】centos如何将一般用户设置为超级权限
27 1
|
3天前
|
运维 安全 Linux
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
|
3天前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
|
4天前
|
Linux Docker 容器
centos7安装docker图文详解
该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
|
5天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
21 2
|
6天前
|
NoSQL Linux 网络安全
【专栏】如何在 RHEL 8 或者 CentOS 8 上安装 MongoDB?
【4月更文挑战第28天】本文档介绍了如何在RHEL或CentOS 8上安装MongoDB,包括环境准备(系统更新、依赖安装、硬件需求和sudo用户)、导入MongoDB GPG公钥、创建Yum仓库、安装MongoDB社区版,以及后续的基本配置和验证(启动服务、防火墙设置和连接验证)。通过这些步骤,用户可以顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈。
|
6天前
|
安全 Linux 网络安全
【专栏】如何进行 CentOS 8 最小安装
【4月更文挑战第28天】本文介绍了如何进行CentOS 8的最小安装,包括准备工作(确认硬件兼容性、下载ISO镜像、制作启动盘及备份数据)和安装步骤(选择语言、最小环境、网络设置、安全策略、分区、用户设置及开始安装)。安装后需进行基础配置,如系统更新、SELinux设置、防火墙配置、安装必要软件包和服务优化。最小安装提供了一个精简高效的环境,便于用户根据需求自定义和管理服务器。
|
7天前
|
存储 Linux 持续交付
【docker】CentOS 7上安装Docker的详细过程
【docker】CentOS 7上安装Docker的详细过程
|
9天前
|
安全 关系型数据库 Linux
centos7_安装mysql8(局域网访问navicat连接)
centos7_安装mysql8(局域网访问navicat连接)
14 1
|
9天前
|
Linux 云计算 Perl
centos7_安装虚拟机工具
centos7_安装虚拟机工具
16 0

热门文章

最新文章