热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Debian+vsftpd+MySQL实现虚拟用户_MySQL

debianVSFTP前些天用vsftpd+mysql实现虚拟用户登录,把偶的菜鸟笔记和大家分享一下,有什么问题请指正


debianVSFTP
前些天用vsftpd+mysql实现虚拟用户登录,把偶的菜鸟笔记和大家分享一下,有什么问题请指正
特别申明:本文不适合Linux老鸟们
HTML版本:http://guitarbug.googlepages.com/vsftpdmysql.html

-----------------------------

Debian+vsftpd+MySQL实现虚拟用户
(posted by guitarbug @ 2006.6.12)

一,需求

1,虚拟用户登录
由于之前配置成功了postfix+MySQL虚拟用户登录,体会到了使用虚拟用户的好处和灵活性,所以这次也考虑采用虚拟用户,并且将FTP虚拟用户的信息也存储在MySQL中,这样以后用PHP等写一些WEB GUI的管理程序,统一管理用户,还是蛮方便的.

2,限制IP的匿名登录
开放匿名登录,但是只允许特定的IP可以匿名登录

3,不同用户,不同目录,不同权限
听起来有点像绕口令吧,举例来说,有2个用户,分别是普通用户(normal)和管理员(admin),FTP有2个目录,分别是incoming和pub,要实现如下权限设置:

代码:

incoming pub
normal 读/写 只读
admin 读/写 读/写



4,通过FTP管理Web站点
服务器上还架设了Apache,而网站管理员对Linux又不是很熟悉,而且也不想开放一个帐号给网站管理员,以免他登录到系统上去,把系统搞的乱78糟,所以参考Internet上提供虚拟主机的流行做法,就是通过FTP来管理网站,所以需要提供一个可供网站管理员登录FTP进行网站管理的帐号.

5,扩展功能
待定..

二,选择FTP服务器软件
Linux下架设FTP站点,有很多优秀的FTP服务器软件可供选择,例如Wu-FTPD,Pure-FTPD,ProFTPD以及vsFTPD等等,要想选择一个适合自己需求的FTP服务器软件,也需要费点脑筋才行,对于我来说,选择 vsftpd(very secure FTP daemon),主要有以下两点原因:

1,选择原则一
有人说,哪个FTPD是你最熟悉的就用哪个,不过由于我之前没有在Linux下架设FTP站点的经验,所以,对我来说,一切都是新的起点.在vsftpd的官方主页上看到了Debian官方FTP,RH官方FTP等都使用了vsftpd,于是"随波逐流"吧,这样看起来会有面子些~

2,选择原则二
第二点很大程度取决于vsftpd(very secure FTP daemon)的名字,因为它是很安全的FTP软件嘛,哈哈,再说Debian官方等FTP都使用了vsftpd,选择它应该没错的~

PS:FTP服务器软件的选择可以参考"鸟哥的Linux私房菜中的简易vsftpd服务器架设"一文.

三,实现
基于Debian GNU/Linux 3.1 Sarge 和 vsftpd-2.0.3

1,需要的软件包
1),vsftpd
very secure FTP daemon

2),mysql-server,mysql-client
前者是MySQL数据库服务器,用于存储虚拟用户信息,后者提供一个命令行的MySQL Client. 由于我之前配置postfix时,已经安装过了MySQL,所以我不必安装这个包了^_^

3),libpam-mysql
vsftpd是通过PAM验证用户信息的,这个包可以让PAM去读取MySQL完成验证.

2,安装
以root登录Debian,输入以下命令,搞定~

代码:

#apt-get install vsftpd,libpam-mysql



3,创建一个必要的本地用户
虽说是虚拟用户,不过,由于虚拟用户的信息存储在MySQL数据库中,所以还是需要一个能够读取MySQL数据库的本地用户.

1),创建本地用户的家目录,此目录也是FTP的家目录

代码:

#mkdir /home/ftp



2),创建名为ftpguest的本地用户

代码:

#useradd ftpguest -d /home/ftp



3),修改FTP家目录的所有者和组

代码:

#chown ftpguest.nogroup /home/ftp



推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
author-avatar
萱恭俊逸明靖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有