vsftpd虚拟用户权限设置

2024-08-24 06:38

本文主要是介绍vsftpd虚拟用户权限设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上次总结到,vsftpd如何使用mysql完成用户验证。

原文链接:https://blog.csdn.net/u012999461/article/details/123014589

其中包括三个用户:tom@123,jerry@456,mike@789。这些用户都映射为一个系统虚拟用户,所以一定要有一套机制来分别设置每个用户的权限。

1、在vsftpd.conf主配置文件中添加:

user_config_dir=/etc/vsftpd/vusers_conf

参考man vsftpd.conf可以看到user_config_dir选项的说明,它可以指向一个任意取名的目录,用于存放虚拟用户配置文件。

2、创建虚拟用户的配置目录,及配置文件:

mkdir /etc/vsftpd/vusers_conf && cd /etc/vsftpd/vusers_conf

这些配置文件只需要和用户同名即可。而后,每个文件中都可以单独对这个用户权限进行设置。使用匿名用户的指令即可。比如:

vim -o tom jerry mike ../vsftpd.conf(我是一次编辑了四个文件。三个用户分别设置了最简单的权限,用于测试学习而已。代码如下:)

tom:

anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO                                                                                                                                                                

jerry:

anon_upload_enable=NO
anon_mkdir_write_enable=YES
anon_other_write_enable=NO

mike:

anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=YES

由于修改了vsftpd.conf主配置文件,需要重载服务:

service vsftpd reload

实测,修改pam相关是不用重载服务的。测试过程如下:

 这个/_ftproot是之前创建的系统虚拟用户的家目录,以后tom,jerry,mike上传的文件都在这里。可以看到目前什么都没有。下面我用另外一台centos7测试,

 使用tom登录ftp,上传fstab文件成功,但不能mkdir,也不能删除fstab文件,符合配置要求。 

因为测试tom的时候,还没用jerry创建目录,所以没有测试rmdir,后来试过也是一样拒绝的。符合配置要求。

  使用jerry登录ftp,上传issue文件失败,创建目录a成功,删除文件或目录失败,符合配置要求。

使用mike登录ftp,上传issue文件失败,创建目录b失败,删除文件fstab成功,删除目录a成功,符合配置要求。证毕。

说明:

我试过,哪怕是属主不是映射的虚拟用户,具备删除权限的用户依然可以在远程执行删除的。只不过,无论是delete还是rmdir,都只能带一个参数,不能一次删除多个对象。

mkdir也是只能删除空目录。而mkdir生成的目录。上面截图也看见了,没有go权限,所以能切换过去,也能上传和删除文件,但无法执行ls(亦即list)操作。可见默认anon_umask=077。所以,一般我就参考local_umask的默认值,设置anon_umask=022。

本文完。 

这篇关于vsftpd虚拟用户权限设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101730

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li