ProFTPD 和 MySQL 认证需要做什么

系统 Linux
Proftpd全称:Professional FTP daemon是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone、xinetd模式运行等。本文介绍下ProFTPD和MySQL认证需要做哪些工作!

ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,ProFTPD和MySQL 认证需要做什么呢,跟我来看看!

  使用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

通过文章我们了解到ProFTPD 和 MySQL 认证准备工作。希望对你们有用!

【编辑推荐】

责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-11-15 10:32:27

2011-11-10 10:04:20

2015-10-27 15:50:47

JS框架

2023-06-29 00:16:45

2021-03-05 14:55:31

大数据面试跳槽

2020-10-29 18:36:02

DenoNode.jsJavascript

2021-10-28 22:51:24

比特币黄金货币

2011-11-21 09:40:38

产品经理

2016-03-09 09:42:15

App产品经理项目启动

2023-09-28 07:23:14

AB 实验体系算法

2015-11-13 16:25:45

电商

2017-09-04 20:20:04

数据中心DCIM工具传感器

2011-02-23 09:47:07

UbuntuProFTPdMySQL

2011-02-25 14:48:25

ProftpdMySQL

2011-02-23 09:47:07

2021-09-17 13:49:34

数字化

2015-10-26 15:45:33

CIBN

2016-01-14 11:35:01

SaaSSaaS平台SaaS服务

2018-06-21 08:31:13

数据数据科学大数据

2011-08-08 10:02:05

点赞
收藏

51CTO技术栈公众号