上次总结到,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,也不能删除,符合设置要求。
使用jerry登录ftp,上传issue文件失败,创建目录a成功,删除文件或目录失败,符合配置要求。
使用mike登录ftp,上传issue文件失败,创建目录b失败,删除文件fstab成功,删除目录a成功,符合配置要求。
证毕,本文完。