当前位置:首页 > 系统运维 > 正文内容

vsftpd+MySQL创建虚拟用户在Debian Linux之下

a8116255316年前 (2010-05-20)系统运维8

以下的文章主要讲述的是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虚拟用户的信息保存在数据库中,所以我们还需要一个能够读取数据库内容的本地用户,而且还需要设置它的本地目录:

#mkdir /var/ftp  #useradd -d ftpguest /var/ftp  #chown ftpguest.nogroup /var/ftp  

第二步:安装MySQL(和PHP搭配之更佳组合)

apt-get install MySQL(和PHP搭配之更佳组合)-server MySQL(和PHP搭配之更佳组合)-clent

建立数据库,并添加用户

#MySQL(和PHP搭配之更佳组合) -p MySQL(和PHP搭配之更佳组合)>create ftpu;   MySQL(和PHP搭配之更佳组合)>use ftpu;   MySQL(和PHP搭配之更佳组合)>create table user(name char(20) binary,passwd char(20) binary);   MySQL(和PHP搭配之更佳组合)>insert into user (name,passwd) values ('test1',password('1234567'));   MySQL(和PHP搭配之更佳组合)>insert into user (name,passwd) values ('test2',password('7654321'));   MySQL(和PHP搭配之更佳组合)>quit   让ftpguest能访问ftpu和表user:   #MySQL(和PHP搭配之更佳组合) -u root MySQL(和PHP搭配之更佳组合) 

-p MySQL(和PHP搭配之更佳组合)>grant select on ftpu.user to ftpguest@localhost identified by '123456';   

MySQL(和PHP搭配之更佳组合)>quit

第三步:因为vsftpd是通过PAM验证

所以我们还需要一个MySQL(和PHP搭配之更佳组合)通过PAM验证的包,在Debian下它叫做libpam-MySQL(和PHP搭配之更佳组合)

apt-get install libpam-MySQL(和PHP搭配之更佳组合)

然后打开vsftpd的pam验证:

#vi /etc/pam.d/vsftpd  

将以前的内容注释掉,然后加入以下内容:

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文件

#vi /etc/vsftpd.conf  

加入:

uest_enable=yes   guest_username=ftpguest   #表示ftpguest为vsftp的虚拟用户   virtual_use_local_privs=yes    

vsftpd+MySQL虚拟用户与本地用户有相同的权限

write_enable=yes   anon_upload_enable=yes   anon_other_write_enable=yes   

允许虚拟用户上传,修改和删除文件

chroot_local_user=yes  

虚拟用户只能访问自己的目录

anonymous_enable=no   local_enable=yes   

关闭匿名用户访问,开启本地用户访问

第五步:

本来来到第四步已经完成了,可是后来一想,不对,那要是每次上传的东西都不同,到时把那个目录弄得乱七八糟的怎么管理啊,能不能为每个vsftpd+MySQL虚拟用户创建一个目录呢,比如说将music用户上传的文件放在放在~/music下,将doc用户上传的文件放在~/doc下呢?

能!当然能了,看看我怎么做?

首先在数据库中添加music和doc两个vsftpd+MySQL虚拟用户接下来:

#mkdir /etc/vsftpd_user_conf   #cd /etc/vsftpd_user_conf   #touch music   #echo "local_root=/home/username/music" > music   #touch doc   #echo "local_root=/home/username/doc" > doc   #mkdir /home/username/music   #chown ftpguest.nogroup /home/username/music   #chmod 600 /home/username/music   #chown ftpguest.nogroup /home/username/doc   #chmod 600 /home/username/doc   

然后在vsftpd.conf中加入: user_config_dir=/etc/vsftpd_user_conf,大功告成,你明白了吗?

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/20462.html

分享给朋友:

“vsftpd+MySQL创建虚拟用户在Debian Linux之下” 的相关文章

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统重装后卡在正在启动Windows开机界面怎么办

windows 7系统重装后卡在正在启动Windows开机界面怎么办

重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

解决方法: 其实处理这些使用流氓软件,需要将相关的.exe文件删除,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。比如Hijackthis扫描,在扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 - ...

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

 故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...

Ubuntu 14.10上安装新的字体图文教程

Ubuntu 14.10上安装新的字体图文教程

像Ubuntu这种开源系统,一般都自带有好多漂亮的字体,不过假如您想使用您熟悉的字体,可以通过在Ubuntu或其它Linux系统上安装字体,帮助用户在使用开源OS平台上更好的视图体验。 软件名称:Ubuntu 14.04 官方正式版软件大小:752MB更新时间:2014-05-07 Ubun...