zoukankan      html  css  js  c++  java
  • 文件服务器 之 ProFTPD+MySQL 认证

    作者: etony

    来自: www.linuxsir.org

    使用MySQL认证ProFTPD用户:

    1. apt-get update //更新数据库

    2. apt-get mysql-client mysql-server //安装MySQL

    3. apt-get proftpd-mysql //安装支持MySQL的ProFTPD

    4. mysql -uroot -p //用Root登录MySQL,

    create database ftpdb //建ftpdb 数据库

    grant select, update on ftpdb.* to proftpd@"%" identified by 'password' //新增一个用户,用于存取ftpdb 数据库,用户名 proftpd,密码 password

    use ftpdb //对 ftpdb 库操作

    #ftpgroup的表结构
    CREATE TABLE `ftpgroup` (
    `groupname` varchar(16) NOT NULL default '',
    `gid` smallint(6) NOT NULL default '5500',
    `members` varchar(16) NOT NULL default '',
    KEY `groupname` (`groupname`)
    ) TYPE=MyISAM;

    #插入一条记录
    INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');

    #ftpuser的表结构
    CREATE TABLE `ftpuser` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `userid` varchar(32) NOT NULL default '',
    `passwd` varchar(32) NOT NULL default '',
    `uid` smallint(6) NOT NULL default '5500',
    `gid` smallint(6) NOT NULL default '5500',
    `homedir` varchar(255) NOT NULL default '',
    `shell` varchar(16) NOT NULL default '/sbin/nologin',
    `count` int(11) NOT NULL default '0',
    `accessed` datetime NOT NULL default '0000-00-00 00:00:00',
    `modified` datetime NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM ;

    #插入一条记录
    INSERT INTO ftpuser (userid, passwd, uid, gid, homedir, shell) VALUES
    ('ftpuser', 'ftppasswd', 5501, 5500, '/tony','/sbin/nologin'); //目录/tony应该存在

    5.修改/etc/proftpd.conf
    加入以下内容:
    ########################################
    DefaultRoot ~
    SQLAuthTypes Plaintext Crypt
    SQLAuthenticate users* groups*
    SQLConnectInfo ftpdb@localhost proftpd password
    SQLUserInfo ftpuser userid passwd uid gid homedir shell
    SQLGroupInfo ftpgroup groupname gid members
    SQLMinID 500
    SQLHomedirOnDemand on
    SQLLog PASS updatecount
    SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser
    SQLLog STOR,DELE modified
    SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser
    DeferWelcome on
    RootLogin off
    RequireValidShell off
    ########################################

    6. /etc/init.d/proftpd stop
    /etc/init.d/proftpd start //使用/etc/init.d/proftpd restart 似乎不能达到预期的效果

    7.使用
    用户名:ftpuser
    密码:ftppasswd
    测试

  • 相关阅读:
    《python基础教程 》第二章 读书笔记
    hdu 4462 Scaring the Birds 解题报告
    hud 4454 Stealing a Cake 解题报告
    uva 532 Dungeon Master
    《python基础教程 》第一章 读书笔记
    开源项目资源站点
    syslog() 函数简单解析
    ftruncate()函数
    Mysql数据库函数
    int mysql_options() mysql_real_connect() mysql_real_query()/mysql_real_escape_string
  • 原文地址:https://www.cnblogs.com/licheng/p/1050035.html
Copyright © 2011-2022 走看看