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

本文涉及的产品
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介:

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



相关文章
|
3月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
769 69
|
2月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1083 2
|
3月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
387 78
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
571 16
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
332 10
|
3月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
373 0
|
3月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。
|
Linux 网络安全 数据安全/隐私保护
Linux vsFTPd服务详解——文件加密传输配置
Linux vsFTPd服务详解——文件加密传输配置
382 2
|
安全 Linux 应用服务中间件
[笔记]CentOS7 vsftpd安装及配置使用
[笔记]CentOS7 vsftpd安装及配置使用
1136 0
|
7月前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
437 13