以下的文章主要讲述的是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好导航站长资讯发布,如需转载请注明出处。
很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...
对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...
出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。 1、在开始搜索框中键入“regedit”,按回车键打开注册表编辑器。 2、依次定位到以下分支:HKEY_CLASSES_ROOTlnkfile。 3、在lnkfile项上鼠标右键单击“新建”——“字符串值”。...
解决方法: 其实处理这些使用流氓软件,需要将相关的.exe文件删除,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。比如Hijackthis扫描,在扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 - ...
Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...
1月13日消息,微软今天为Windows 7(SP1)用户重新推送了编号为KB2952664的更新补丁,该更新在官方KB知识库中的描述为“Windows 7系统升级兼容性更新”,用于帮助微软改进当前版本系统,提升升级到最新版Win10系统的体验。 这项更新还用于在系统中显示Windows10更新提...