首 页详细分类去玩游戏网络学院千一MTV软件下载音乐无极无极天下社区繁體中文
【转贴】PureFTPd 系列中文文档之 README.MySQL 设为首页
加入收藏
联系我们
学院: 站长学堂 | 网站开发 | 设计学院 | 软件教程 | 数据库类 | 编程经验 | 服务器类 | 网络技术 | 黑客破解 | 维修中心 | [更多]
源码: ASP 源码 | PHP 源码 | JSP 源码 | CGI 源码 | .NET源码 | FLA 源码 | JAVA源码 |Delphi源码| PB 源码 | VC/C++源码 | 其 它
软件: 系统工具 | 网络工具 | 多媒体类 | 图形图像 | 应用软件 | 行业软件 | 教育教学 | 安全相关 | 联络聊天 | 电子书籍 | [更多]
视频: 网络技术 | 图像动画 | 程序设计 | 机械电子 | 外语学习 | 手机: 手机软件 | 手机游戏手机电影手机维修手机铃声
电驴: 电驴电影 | 电驴游戏电驴音乐电驴软件电驴动漫 | 电驴剧集电驴资料电驴综艺电驴杂志 | [更多电驴共享]
您当前的位置:itlove -> 服务器类 -> Ftp服务器 -> 【转贴】PureFTPd 系列中文文档之 README.MySQL 退出登录 用户管理
推荐精品
热门下载
数据载入中...
热门技术文章
  • ·MDAC2.8下载!
  • ·Sun公司的操作系统:Solaris简介
  • ·RM转VCD/SVCD/DVD/WMV/AVI/MPEG4的终极高手--超级…...
  • ·笔记本电脑解密方法大全
  • ·C#介绍
  • ·win2k NTLDR丢失故障的解决
  • ·教你用PHOTOSHOP制作一寸照片
  • ·JBoss及Lomboz的下载与安装
  • ·入侵六合彩--- 1次入侵的扩散性思维的利用
  • ·PHP入门速成
  • ·SQL Server 服务器安装剖析
  • ·MySQL的JDBC驱动程序下载地址
  • 相关技术文章
  • ·设置MySql数据同步
  • ·[转5dmail.com]freebsd+qmail+mysql+vpopmail之完全...
  • ·免费MySQL使用
  • ·程序设计学习的黄金法则【转贴】
  • ·mysql中的sql语句“连结字符串”命令
  • ·mysqlversionanddriver
  • ·工作流基于Jboss与Mysql的环境配置
  • ·proftpd+mysql+quota配置完全指南(收藏)
  • ·Postfix+Cyrus-IMAP+Cyrus-SASL+MySQL+IMP完全指南(...
  • ·[图文]如何架设Samba服务器,用user共享方式【转贴】...
  • ·MySQLViewer - Java Demo - ConnectionJ
  • ·配置服务器使它支持asp,cgi,php,mysql
  • 【转贴】PureFTPd 系列中文文档之 README.MySQL
    作者:Ahaoz.CoM  来源:本站整理  发布时间:2005-11-26 18:21:15  发布人:admin



    原文出自:1816个人主页技术交流论坛。具体见:http://www.1816.net/bbs/viewthread.php?tid=1732

    正文如下:

         PureFTPd 系列中文文档之 README.MySQL ---- 配合MySQL使用 Pure-FTPd

             吴伟<jeffwu> jeffwu_cn@hotmail 2004.4.12

    --------------------------------------------------------------------------------
    中文版声明:本文根据 Pure-FTPd 1.0.18 源代码中的同名英文原文翻译而来(英文原文所在
    的原代码压缩包可以通过 http://pureftpd.sourceforge.net/ 获得),遵循GPL协议。鼓
    励复制、传播、分发和修改,不过请保留作者署名和本声明。
    欢迎来信交流:jeffwu_cn@hotmail.com
    --------------------------------------------------------------------------------

    如果你之前从来没有听说过 MySQL ,请不要在 Pure-FTPd 中启用 MySQL 支持。如果你不
    需要管理大量的共享帐号的话,MySQL支持是没有多少用的。但是,好...,如果你想要了
    解任何有关MySQL的信息的话,http://www.mysql.com/ 是一个好的起点。


    ------------------------------- MYSQL 支持 ------------------------------------


    从 0.99.1 版本起,Pure-FTPd 内建了 MySQL 数据库的支持。当 MySQL 启用时,所有的
    帐户信息都从一个中心 MySQL 数据库中获取。

    编译带 MySQL 支持的服务器时,你必须首先编译和安装 MySQL 客户端库。MySQL 可从 
    http://www.mysql.com/ 免费获得,而且二进制包也被包括在了许多主要的发布包中了。
    不过,如果你选择了一个二进制形式的话,在开发包和安装包分离的情况下,不要忘了把
    开发包也安装上。

    然后,使用 --with-mysql 选项和其他你喜爱的小配件来配置 Pure-FTPd :

        ./configure --with-mysql --with-cookie --with-throttling --with-ratios

    如果你的 MySQL 库被安装在一个特别的路径中,你可以像这样来指定它:

        ./configure --with-mysql=/opt/mysql

    在这个例子中,头文件(像 mysql.h)将在目录 /opt/mysql/include 和 
    /opt/mysql/include/mysql 中查找,相关的库文件将在目录 /opt/mysql/lib 和
    /opt/mysql/lib/mysql 中查找。

    然后,像通常一样安装服务器:

                                     make install

    ---------------------------- MYSQL 配置文件 -----------------------------------

    在运行服务器前,你必须创建一个配置文件。你也许会问,为什么要用配置文件代替简单
    的命令行参数呢?因为安全问题,你可能需要隐藏 Pure-FTPd 是怎么连接到你的 MySQL数
    据库的。在本地用户能发现命令的命令行选项(例如使用 'ps auxwww')的情况下,为敏
    感的数据使用配置文件可能会更安全。确保配置文件是仅 root 用户可读的(chmod 600)。

    下面是一个配置文件的例子:

    #MYSQLServer     localhost
    #MYSQLPort       3306
    MYSQLSocket     /tmp/mysql.sock
    MYSQLUser       root
    MYSQLPassword   rootpw
    MYSQLDatabase   pureftpd
    MYSQLCrypt      cleartext
    MYSQLGetPW      SELECT Password FROM users WHERE User="\L"
    MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"
    MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"
    MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"

    看看这 pureftpd-mysql.conf 配置文件例子中每个关键字的解释。

    可以把这个配置文件保存在任何地方。让我们假如它是 /etc/pureftpd-mysql.conf 。

    然后,你必须使用带这个配置文件路径的命令选项 '-l mysql:' 来启动 pure-ftpd。下面
    是用于 tcpserver 的一个例子:

    tcpserver -DHRl0 0 21 /usr/local/bin/pure-ftpd -l mysql:/etc/pureftpd-mysql.conf &

    你可以混合不同的多种认证方式。比如:在一个帐号在 MySQL 数据库中找不到时你想使用
    系统帐号 (/etc/passwd) 中对应的某个帐号时,可以使用:

    -l mysql:/etc/pureftpd-mysql.conf -l unix

    《未完待续》

     白狐狸 回复于:2004-04-14 23:54:34
    接上面继续:

    ----------------------------- 数据表格结构 ------------------------------------

    Pure-FTPd 非常灵活而且用户信息可以任何形式存储在 SQL 表格中。你仅仅只需要有保存
    下列信息的列:

    - 用户登陆。

    - 用户密码,可以以明文、MD5、crypt()或者 MySQL的 password() 等多种格式。
    Pure-FTPd 还接受 MySQLCrypt 列的“任何”值。所谓“任何”,指所有的散列函数(除
    了明文)都是经过测试过的。

    * 推荐:在使用非常老的 C 库的 Solaris 系统上,使用 MySQL MD5 散列函数。在所有其
    系统上,最好使用 crypt()。最好不用非常弱的 password() 函数,它不能移植,且一
    般仅在 MySQL 服务器内部帐号使用的。在 MySQL 4.1.0 和以后版本,Pure-FTPd 不再支
    持 password() 函数了。

    - FTP 用户映射到的系统用户ID(uid)。可以是一个数字或用户名,在运行时查找。

    系统用户组ID(gid)(数字或非数字)。

    - 用户主目录。

    这里有一个处理这些东西的简单表格的示例:

    CREATE TABLE users (
      User varchar(16) NOT NULL default '',
      Password varchar(64) NOT NULL default '',
      Uid int(11) NOT NULL default '-1',
      Gid int(11) NOT NULL default '-1',
      Dir varchar(128) NOT NULL default '',
      PRIMARY KEY  (User)
    );

    如果你需要使用用户名代替数字的话,可以将 Uid 和 Gid 的数据类型用 char() 代替
    int()。

    然后,在配置文件 pureftpd-mysql.conf 中,你需要提供 SQL 模板来获取必须的信息。

    我们利用前面的例子:

    MYSQLGetPW      SELECT Password FROM users WHERE User="\L"
    MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"
    MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"
    MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"

    其中,在每个一个查询中:

    \L 由尝试登陆的用户的用户名代替。
    \I 由客户端要求连接到的 IP 地址代替。
    \P 由客户端要求连接到的端口号代替。
    \R 由客户端连接过来的远端 IP 地址代替。
    \D 由远端 IPv4 地址代替,一个长整型的十进制数。

    你可以混合所有这些并在不同的表中保存信息。比如:使用 \I,每一个域你可以使用不同
    的表,这样 joe@domain1 和 joe@domain2 就是不同的帐号的了。使用 \R,你可以限制一
    个特定的IP地址才能使用某个帐号。

    请注意,登陆用户名尽包括普通的字符:A-Z , a-z , 0-9 , - , . , _ , 空格 , : ,
    @ 和 ' 。出于安全目的,其他字符是禁止的。

    你也可以在你的表格中去掉 uid 和 gid 这两列,而使用缺省的值代替(这样就减少了无
    用的查找)。有两个指令对于实现这样的目的是有用的:MYSQLDefaultUID 和
    MYSQLDefaultGID。

    明显的例子:

    MYSQLDefaultUID 1000
    MYSQLDefaultGID 1000

    使用这些指令来覆盖 MYSQLGetUID 和 MYSQLGetGID。

    ----------------------------- 每一个用户的设置 --------------------------------

    使用可选的查询,可以为每一个用户设定个人的设置。

    - MySQLGetQTAFS 是用户能在其主目录保存的最大的文件数目。

    例如:
    MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"

    - MySQLGetQTASZ 是用户能使用的最大的硬盘空间,以兆(Megabytes)为单位。

    例如:
    MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"

    - MySQLGetRatioUL 和 MySQLGetRatioDL 是可选的比率。

    例如:
    MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L"
    MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L"

    - MySQLGetBandwidthUL 和 MySQLGetBandwidthDL 是可选的上传和下载带宽限制。返回值
    以 KB/s 为单位。

    例如:
    MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"
    MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"

    - MySQLForceTildeExpansion 也是另外一个可选特性,开启 "~" 来扩展路径。0 是禁止
    (默认值),1 为开启。仅在真实的系统用户与虚拟(MySQL)用户相匹配时才开启。在其
    他任何情况下,请不要盲目的开启它。

    ------------------------------- 事务 ------------------------------------------

    如果你升级你的表格到支持事务的表格时,你可以配置你的 Pure-FTPd 来利用事务。这样
    的话,你就可以保证服务器能完成所有信息的解析,即使你在同时进行更新x作时也是。

    开启事务,添加下面一行:

    MySQLTransactions On

    在表格依然是 ISAM 或 MyISAM 格式时不要开启事务。事务仅工作在更新的后端(Gemini,
    InnoDB,BerkeleyDB...)和目前最新的 MySQL 版本。

    ------------------------------ 匿名用户 ---------------------------------------


    如果你需要匿名用户连接你的 FTP 服务器,你不需要在 MySQL 中由任何 'ftp' 用户。不
    过,你需要在 FTP 服务器中拥有一个系统的 'ftp' 用户。

    ----------------------------- ROOT 用户 ---------------------------------------

    如果一个 MySQL 用户条目拥有 root (0) 用户ID或者组ID, Pure-FTPd 将拒绝它的登陆。

    没有这个预防性质的限制的话,如果你的 MySQL 服务器受到损害或牵连,攻击者就能很容
    易的牵连到 FTP 服务器。

    安全屏障也被实现来避免因错误的数据类型(例如,binary blobs 代替了plain text)被
    SQL 查询获取而产生的坏的牵连。

              -Frank DENIS <j@pureftpd.org>.



       
    [数据载入中...] [返回上一页] [打 印] [收 藏]
     
    相关技术文章 搜索
  • ★ 在迅雷中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  • ★ 在百度中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  • ★ 在GOOGLE中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  • ★ 在SOGOU中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  • ★ 在雅虎中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  • ★ 在腾讯SoSo中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  • ★ 在中国搜索中搜索更多【转贴】PureFTPd 系列中文文档之 README.MySQL相关内容
  •  
    相关技术文章评论    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]

    用户名
    分 值 100分 85分 70分 55分 40分 25分 10分 0分
    说 明
      (注“”为必填内容。)
     
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    本页主要内容:【转贴】PureFTPd 系列中文文档之 README.MySQL
    Copyright © 2002-2008 itlove.net. All Rights Reserved .  苏ICP备05061636号