您的位置:首页 > 数据库 > SQL

vsftpd服务器结合mysql实现虚拟用户登录

2017-11-30 14:18 543 查看
1、安装所需软件yum -y install vsftpd mysql-server mysql-devel pam_mysql,注意的是pam_mysql在epel源中。

2、登录mysql服务器创建一个vsftpd库,库中有users表,表中插入的name字段有tom和jerry。然后新建一个数据库登录用户[b]vsftpd并授权select权限。[/b]



3、在/etc/pam.d/目录下单独创建vsftpd.mysql文件,内容如下。注意的是user=“数据库的登录用户名”,passwd=“数据库的登录用户密码”,host=“数据库所在的主机IP”,db=“数据库中的库名”,table=“库中的表名”,usercolumn=“表中的虚弥用户名字段”,passwdcolumn=“表中的虚弥用户登录密码字段”,crypt值为2表明在插入数据时候密码通过password(  )函数进行加密、值为0是表明密码没有加密的方式。



4、创建虚拟用户映射的本地用户。





5、修改vsftpd配置文件/etc/vsftpd/vsftpd.conf如下:

anonymous_enable=YES

local_enable=YES

write_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

chroot_local_user=YES


guest_enable=YES         启动虚弥用户模式

guest_username=virtual     映射到本地的用户名(用在数据库中定义的用户登录vsftpd服务器时候,会映射到此用户)    
 



6、重启vsftpd服务后使用虚拟用户tom登录成功。



7、为tom和jerry这两个虚拟账户分别配置各自的配置文件,在/etc/vsftpd/vsftpd.conf配置文件中定义虚拟用户配置文件的路径如下。并在此路径下分别创建以用户名命名的用户配置文件,各自用户的配置文件的内容如下。





8、重启服务后,进行测试。使用tom登录后能够上传文件,而jerry登录后不能上传文件。





vsftpd.conf配置文件说明:

anonymous_enable=YES            允许匿名用户登录

anon_upload_enable=YES         允许匿名用户上传文件

anon_mkdir_write_enable=YES     允许匿名用户创建文件

anon_other_write_enable=YES     允许匿名用户删除文件


local_enable=YES       允许本地用户登录

write_enable=YES      允许本地用户有写权限

chroot_local_user=YES    锁定所有用户在其家目录

chroot_list_enable=YES


chroot_list_file=/PATH/TO/FILE         锁定特定的用户在其家目录

/etc/vsftpd/ftpusers        此文件里的用户被禁止登录(通过pam自身的方式进行限制)

userlist_enable=YES

userlist_deny=YES | NO

/etc/vsftpd/user_list                如果userlist_deny 为YES,则此文件里的用户被禁止登录(默认是禁止)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息