搜索
首页数据库mysql教程vsftpd+MySQL创建虚拟用户在Debian Linux之下

以下的文章主要讲述的是Debian Linux下对vsftpd+MySQL虚拟用户的具体作法,我前两天在相关网站看见Debian Linux下对vsftpd+MySQL虚拟用户的资料,觉得挺好,就拿出来供大家分享。 今天闲来无事做了个ftp,原因很简单就是为了能在别处看到的好东西直接放到我

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

<ol class="dp-xml">
<li class="alt"><span><span>#mkdir /var/ftp  </span></span></li>
<li><span>#useradd -d ftpguest /var/ftp  </span></li>
<li class="alt"><span>#chown ftpguest.nogroup /var/ftp  </span></li>
</ol>

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

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

建立数据库,并添加用户

<ol class="dp-xml">
<li class="alt">#MySQL<span>(和PHP搭配之最佳组合) -p </span>MySQL<span>(和PHP搭配之最佳组合)</span><span>>create ftpu;   </span>
</li>
<li>MySQL<span>(和PHP搭配之最佳组合)</span><span class="tag">></span><span>use ftpu;   </span>
</li>
<li class="alt">MySQL<span>(和PHP搭配之最佳组合)</span><span class="tag">></span><span>create table user(name char(20) binary,passwd char(20) binary);   </span>
</li>
<li>MySQL<span>(和PHP搭配之最佳组合)</span><span class="tag">></span><span>insert into user (name,passwd) values ('test1',password('1234567'));   </span>
</li>
<li class="alt">MySQL<span>(和PHP搭配之最佳组合)</span><span class="tag">></span><span>insert into user (name,passwd) values ('test2',password('7654321'));   </span>
</li>
<li>MySQL<span>(和PHP搭配之最佳组合)</span><span class="tag">></span><span>quit   </span>
</li>
<li class="alt"><span>让ftpguest能访问ftpu和表user:   </span></li>
<li>
<span>#</span>MySQL<span>(和PHP搭配之最佳组合) -u root </span>MySQL<span>(和PHP搭配之最佳组合) <br>-p </span>MySQL<span>(和PHP搭配之最佳组合)</span><span class="tag">></span><span>grant select on ftpu.user to ftpguest@localhost identified by '123456';   </span>
</li>
</ol>

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

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

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

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

然后打开vsftpd的pam验证:

<ol class="dp-xml"><li class="alt"><span><span>#vi /etc/pam.d/vsftpd  </span></span></li></ol>

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

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

<ol class="dp-xml"><li class="alt"><span><span>#vi /etc/vsftpd.conf  </span></span></li></ol>

加入:

<ol class="dp-xml">
<li class="alt"><span><span class="attribute">uest_enable</span><span>=</span><span class="attribute-value">yes</span><span>   </span></span></li>
<li>
<span class="attribute">guest_username</span><span>=</span><span class="attribute-value">ftpguest</span><span>   </span>
</li>
<li class="alt"><span>#表示ftpguest为vsftp的虚拟用户   </span></li>
<li>
<span class="attribute">virtual_use_local_privs</span><span>=</span><span class="attribute-value">yes</span><span>   </span>
</li>
<li class="alt"><span> </span></li>
</ol>

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

<ol class="dp-xml">
<li class="alt"><span><span class="attribute">write_enable</span><span>=</span><span class="attribute-value">yes</span><span>   </span></span></li>
<li>
<span class="attribute">anon_upload_enable</span><span>=</span><span class="attribute-value">yes</span><span>   </span>
</li>
<li class="alt">
<span class="attribute">anon_other_write_enable</span><span>=</span><span class="attribute-value">yes</span><span>   </span>
</li>
</ol>

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

<ol class="dp-xml"><li class="alt"><span><span class="attribute">chroot_local_user</span><span>=</span><span class="attribute-value">yes</span><span>  </span></span></li></ol>

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

<ol class="dp-xml">
<li class="alt"><span><span class="attribute">anonymous_enable</span><span>=no   </span></span></li>
<li>
<span class="attribute">local_enable</span><span>=</span><span class="attribute-value">yes</span><span>   </span>
</li>
</ol>

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

第五步:

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

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

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

<ol class="dp-xml">
<li class="alt"><span><span>#mkdir /etc/vsftpd_user_conf   </span></span></li>
<li><span>#cd /etc/vsftpd_user_conf   </span></li>
<li class="alt"><span>#touch music   </span></li>
<li>
<span>#echo "</span><span class="attribute">local_root</span><span>=/home/username/music" </span><span class="tag">></span><span> music   </span>
</li>
<li class="alt"><span>#touch doc   </span></li>
<li>
<span>#echo "</span><span class="attribute">local_root</span><span>=/home/username/doc" </span><span class="tag">></span><span> doc   </span>
</li>
<li class="alt"><span>#mkdir /home/username/music   </span></li>
<li><span>#chown ftpguest.nogroup /home/username/music   </span></li>
<li class="alt"><span>#chmod 600 /home/username/music   </span></li>
<li><span>#chown ftpguest.nogroup /home/username/doc   </span></li>
<li class="alt"><span>#chmod 600 /home/username/doc   </span></li>
</ol>

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


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
将用户添加到MySQL:完整的教程将用户添加到MySQL:完整的教程May 12, 2025 am 12:14 AM

掌握添加MySQL用户的方法对于数据库管理员和开发者至关重要,因为它确保数据库的安全性和访问控制。1)使用CREATEUSER命令创建新用户,2)通过GRANT命令分配权限,3)使用FLUSHPRIVILEGES确保权限生效,4)定期审计和清理用户账户以维护性能和安全。

掌握mySQL字符串数据类型:varchar vs.文本与char掌握mySQL字符串数据类型:varchar vs.文本与charMay 12, 2025 am 12:12 AM

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

MySQL:字符串数据类型和索引:最佳实践MySQL:字符串数据类型和索引:最佳实践May 12, 2025 am 12:11 AM

在MySQL中处理字符串数据类型和索引的最佳实践包括:1)选择合适的字符串类型,如CHAR用于固定长度,VARCHAR用于可变长度,TEXT用于大文本;2)谨慎索引,避免过度索引,针对常用查询创建索引;3)使用前缀索引和全文索引优化长字符串搜索;4)定期监控和优化索引,保持索引小巧高效。通过这些方法,可以在读取和写入性能之间取得平衡,提升数据库效率。

mysql:如何远程添加用户mysql:如何远程添加用户May 12, 2025 am 12:10 AM

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

MySQL字符串数据类型的最终指南:有效的数据存储MySQL字符串数据类型的最终指南:有效的数据存储May 12, 2025 am 12:05 AM

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

mysql blob vs.文本:为大对象选择正确的数据类型mysql blob vs.文本:为大对象选择正确的数据类型May 11, 2025 am 12:13 AM

选择MySQL的BLOB和TEXT数据类型时,BLOB适合存储二进制数据,TEXT适合存储文本数据。1)BLOB适用于图片、音频等二进制数据,2)TEXT适用于文章、评论等文本数据,选择时需考虑数据性质和性能优化。

MySQL:我应该将root用户用于产品吗?MySQL:我应该将root用户用于产品吗?May 11, 2025 am 12:11 AM

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

MySQL字符串数据类型说明了:选择适合您数据的合适类型MySQL字符串数据类型说明了:选择适合您数据的合适类型May 11, 2025 am 12:10 AM

mySqlStringDatatatPessHouldBechoseBeadeDataCharacteristicsAndUsecases:1)USECHARFORFIXED LENGTHSTRINGSTRINGSLIKECOUNTRYCODES.2)USEDES.2)usevarcharforvariable-lengtthstringstringstringstringstringstringstringslikenames.3)usebinaryorvarrinaryorvarinarydatalbonydatalgebgeenfopical.4)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具