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

相关文章

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

使用Spring Cache时设置缓存键的注意事项详解

《使用SpringCache时设置缓存键的注意事项详解》在现代的Web应用中,缓存是提高系统性能和响应速度的重要手段之一,Spring框架提供了强大的缓存支持,通过​​@Cacheable​​、​​... 目录引言1. 缓存键的基本概念2. 默认缓存键生成器3. 自定义缓存键3.1 使用​​@Cacheab

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Mybatis拦截器如何实现数据权限过滤

《Mybatis拦截器如何实现数据权限过滤》本文介绍了MyBatis拦截器的使用,通过实现Interceptor接口对SQL进行处理,实现数据权限过滤功能,通过在本地线程变量中存储数据权限相关信息,并... 目录背景基础知识MyBATis 拦截器介绍代码实战总结背景现在的项目负责人去年年底离职,导致前期规

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo