FTP/Vsftpd服务本地用户及虚拟用户访问控制详解

Posted 是大姚呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP/Vsftpd服务本地用户及虚拟用户访问控制详解相关的知识,希望对你有一定的参考价值。

Vsftpd服务本地用户及虚拟用户访问控制

1、本地用户访问控制

a)本地用户登陆控制:local_enable=NO|YES
实验步骤:
1)创建普通/本地用户lee,设定普通用户密码,lftp 172.25.254.133 -u 本地用户可以成功以本地用户身份访问ftp在这里插入图片描述
2)修改vsftp服务的配置文件,重启服务,此时本地用户不能成功访问ftp,530报错即用户无法通过认证
在这里插入图片描述
在这里插入图片描述
b)更改默认访问目录:local_root=/software
实验步骤:
1)本地用户访问ftp时,默认访问的是该本地用户的家目录/home/username,新建目录/westosdir,在该目录下建立文件,修改vsftp服务的配置文件,重启服务,本地用户访问ftp时看到的是/westosdir目录下的文件在这里插入图片描述
在这里插入图片描述
c)写权限控制:write_enable=NO|YES
实验步骤:
1)本地用户访问ftp,在该本地用户的家目录/home/username中put上传文件,550报错即服务本身拒绝,修改vsftp服务的配置文件,重启服务,本地用户再次访问ftp可以进行上传、删除文件等操作
在这里插入图片描述
在这里插入图片描述
d)上传文件权限控制:local_umask=xxx
实验步骤:
1)本地用户访问ftp,在该本地用户的家目录/home/username中put上传文件/etc/passwd,服务默认上传文件的权限为644,编写vsftp服务的配置文件,设定local_umask=077,重启服务,访问ftp在pub/中上传另一文件/etc/group,可以看到文件group权限为600(777-077-111),权限设定生效
在这里插入图片描述
在这里插入图片描述
e)用户登陆控制
/etc/vsftpd/ftpusers: 永久用户登录黑名单,在该名单中的用户无法访问ftp
/etc/vsftpd/user_list: 用户列表,默认为用户登录黑名单,在该名单中的用户无法访问ftp;可以在配置文件中设定userlist_deny=NO,此时该用户列表为用户登录白名单,不在名单中的用户不能访问ftp
实验步骤:
1)编辑永久用户登录黑名单,在其中添加lee用户后,本地用户lee无法访问ftp,530报错即用户无法通过认证
在这里插入图片描述
在这里插入图片描述
2)编写vsftp服务的配置文件,设定userlist_deny=NO,重启服务,此时用户列表为用户登录白名单,在其中添加westos用户后,只有本地用户westos可以访问ftp,不在名单中的用户不能访问ftp(包括匿名用户)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
f)锁定用户到自己的家目录中:chroot_local_user=YES
实验步骤:
1)本地用户访问ftp,访问成功后该用户可以切换到FTP服务器系统的根目录中,这显然是不安全的,应该将该用户锁定到自己的家目录中在这里插入图片描述
2)编写vsftp服务的配置文件,重启服务,本地用户访问ftp不成功,500报错即文件系统权限过大
在这里插入图片描述
在这里插入图片描述
3)我们需要将家目录的写权限去掉,否则无法访问,此时本地用户访问lftp成功后无法切换浏览根,该用户被锁定到自己的家目录中
在这里插入图片描述
g)锁定用户到自己的家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
实验步骤:
1)编写vsftp服务的配置文件,设定chroot_local_user=YES,重启服务,编写锁定名单(/etc/vsftpd/chroot_list默认不存在),在名单中添加用户lee,只有名单中的lee用户访问lftp后可以切换浏览根/,不在名单中的westos用户访问lftp后被锁定到自己的家目录中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
h)锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
实验步骤:
1)编写vsftp服务的配置文件,设定chroot_local_user=NO,重启服务,编写锁定名单(/etc/vsftpd/chroot_list默认不存在),在名单中添加用户lee,名单中的lee用户访问lftp后被锁定到自己的家目录中不能切换浏览根/,不在名单中的westos用户访问lftp后可以切换浏览根/在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、虚拟用户访问控制

a)建立虚拟用户
实验步骤:
1)在vsftpd服务配置目录/etc/vsftpd/下建立认证文件,在其中设置虚拟用户的用户名和密码,加密该认证文件—db_load -T(转换) -t(指定转换类型) hash -f(指定加密文件) 文件名 输出文件
在这里插入图片描述
2)在/etc/pam.d下生成认证策略文件(注意认证策略文件路径不用写.db后缀,系统会自动添加)
在这里插入图片描述
3)编写vsftp服务的配置文件,指定认证策略文件,指定虚拟用户功能开启,指定虚拟用户在ftp服务器上的用户身份,重启服务,此时可以通过认证文件中设置的虚拟用户成功访问ftp
在这里插入图片描述
在这里插入图片描述
b)虚拟用户家目录的独立设定
实验步骤:
1)虚拟用户访问ftp,默认共享目录为/var/ftp ,我们为每个虚拟用户建立各自的家目录
在这里插入图片描述
2)编写vsftp服务的配置文件,指定虚拟用户默认访问目录位其对应家目录,从shell中提取登陆的虚拟用户名,重启服务,此时虚拟用户访问ftp后看到的是其家目录中的资源
在这里插入图片描述
在这里插入图片描述
c)虚拟用户配置独立操作(上传操作)
实验步骤:
1)虚拟用户访问ftp后,在其家目录中put上传文件,553报错即文件系统权限限制,我们需要给虚拟用户各自家目录进行权限设置
在这里插入图片描述
在这里插入图片描述
2)权限设置完成后所有虚拟用户都可以进行上传操作
在这里插入图片描述
3)编写vsftp服务的配置文件(注释五行;添加独立语句),重启服务,建立与配置文件中对应的目录,在该目录下编写指定用户的独立上传文件(注意文件名要与用户名相同),只有指定用户可以上传
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4)完成上述设定后只有虚拟用户user1可以上传文件,user2和user3不行(注意上传只能在家目录的子目录下,不能直接在家目录下)
在这里插入图片描述

以上是关于FTP/Vsftpd服务本地用户及虚拟用户访问控制详解的主要内容,如果未能解决你的问题,请参考以下文章

vsftpd服务详解(匿名用户访问,本地用户访问,指定用户访问控制,虚拟用户)

Linux配置FTP(vsftpd)服务和无法上传下载问题解决

linux,新创建的用户无法登录ftp(vsftpd),包括root用户

文件共享

Samba服务(匿名用户访问本地用户访问虚拟用户访问)

FTP(vsftpd) for CentOS7