vsftpd+MySQL创建虚拟用户在Debian Linux之下 |
本文标签:vsftpd+MySQL 以下的文章主要讲述的是Debian Linux下对vsftpd+MySQL虚拟用户的具体作法,我前两天在相关网站看见Debian Linux下对vsftpd+MySQL虚拟用户的资料,觉得挺好,就拿出来供大家分享 。 今天闲来无事做了个ftp,原因很简单就是为了能在别处看到的好东西直接放到我的机器上,嘿嘿!linux下选择ftp服务器还真是不容易,经过一阵思索后就选择了vsftpd,理由就是它号称是linux下最安全的ftp服务器还有还有好多的大型站点都用它来做服务器(这样用起来也比较有面子 :) ) 。 为了怕在我输入密码时被别人偷看到然后登入我机器乱搞,在加上我本来就讨厌系统有那么多的用户(其实也是像显示自己的手平),所以我决定采用虚拟用户,因为机器中装有MySQL(和PHP搭配之最佳组合),于是我就想将vsftpd+MySQL虚拟用户数据放在MySQL(和PHP搭配之最佳组合)中,好了,就侃到这里,下面进入正题! 第一步: 安装vsftpd apt-get install vsftpd (Debian就是爽啊!) 系统会自动生成一个配置文件和一个ftp用户供匿名用户使用,vsftpd使用pam方式来验证虚拟用户,因为vsftpd+MySQL虚拟用户的信息保存在数据库中,所以我们还需要一个能够读取数据库内容的本地用户,而且还需要设置它的本地目录:
第二步:安装MySQL(和PHP搭配之最佳组合) apt-get install MySQL(和PHP搭配之最佳组合)-server MySQL(和PHP搭配之最佳组合)-clent 建立数据库,并添加用户
MySQL(和PHP搭配之最佳组合)>quit 第三步:因为vsftpd是通过PAM验证 所以我们还需要一个MySQL(和PHP搭配之最佳组合)通过PAM验证的包,在Debian下它叫做libpam-MySQL(和PHP搭配之最佳组合) apt-get install libpam-MySQL(和PHP搭配之最佳组合) 然后打开vsftpd的pam验证:
将以前的内容注释掉,然后加入以下内容: auth required pam_MySQL(和PHP搭配之最佳组合).so user=ftpguest passwd=123456 host=localhost db=ftpu table=user usercolumn=name passwdcolumn=passwd crypt=2 account required pam_MySQL(和PHP搭配之最佳组合).so user=ftpguest passwd=123456 host=localhost db=ftpu table=user usercolumn=name passwdcolumn=passwd crypt=2 上面的内容应该能看明白吧,那个crypt=2表示经过MySQL(和PHP搭配之最佳组合)的password()机密后的东西! 第四步:修改vsftpd.conf文件
加入:
vsftpd+MySQL虚拟用户与本地用户有相同的权限
允许虚拟用户上传,修改和删除文件
虚拟用户只能访问自己的目录
关闭匿名用户访问,开启本地用户访问 第五步: 本来来到第四步已经完成了,可是后来一想,不对,那要是每次上传的东西都不同,到时把那个目录弄得乱七八糟的怎么管理啊,能不能为每个vsftpd+MySQL虚拟用户创建一个目录呢,比如说将music用户上传的文件放在放在'/music下,将doc用户上传的文件放在'/doc下呢? 能!当然能了,看看我怎么做? 首先在数据库中添加music和doc两个vsftpd+MySQL虚拟用户接下来:
然后在vsftpd.conf中加入: user_config_dir=/etc/vsftpd_user_conf,大功告成,你明白了吗? |