用proftp+mysql+php实现"非系统"用户ftp登陆和对ftp用户的web管理

系统以及软件环境 redhat7.2 apache+php+mysql proftp-version.tar.gz 可能需要mod_sql.o phpadmin-version.tar.gz 如果没有这些软件 去google搜索
特点 由于不需要去添加系统用户 它的安全性就大大提高了 而且通过web管理 方便管理
其实 只要会写php 还可以自己写程序来对ftp用户进行管理 就不需要phpadmin了 呵呵 不过phpadmin是现成的东西

第一步 安装apache+php+mysql
这个我就不详细说了 网上教程太多了 在这里需要注意mysql的安装路径 因为后面proftpd安装需要找它的lib和include目录

第二步 安装proftpd
tar zxvf proftpd*.tar.gz
进入解压的目录
./configure --prefix=/home/proftpd
--with-includes=/mysql的路径/include
--with-libraries=/mysql的路径/lib
--with-modules=mod_sql:mod_sql_mysql
接着就开始make了
这样make会出现error 说找不到mysql.h 没关系 到proftpd解压目录的modules下 修改mod_sql_mysql.c

把这一点改为<./mysql.h>
ok 重新configure and make如果没有其他问题的话 就可以顺利完成了
然后make install完成proftpd初步安装

第三步 给proftpd在mysql里建ftp用户的数据库
CREATE DATABASE proftpd;
CREATE TABLE users (
userid text NOT NULL, #用户名
password text NOT NULL, #用户密码
homedir text NOT NULL, #用户目录
count int(11) NOT NULL, #用户登录次数(初始填0)
shell text NOT NULL #用户shell
);

第四步 配置你的proftpd.conf文件

ServerName "Ftp.xashow.com"
ServerType standalone
DefaultServer on
ServerIdent off
RequireValidShell off

Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

#MySQL的信息
SQLConnectInfo proftpd@localhost aying 123 #连接数据库的信息假设为aying/123
SQLGroupAuth off #这里是关掉组认证
SQLAuthTypes Plaintext #密码以明文形式认证.
SQLDoAuth on #打开sql认证
SQLHomedirOnDemand on #如果用户目录不存在,则自动建了.
SQLUserTable users #定义存放用户信息的表
SQLUsernameField userid #定义用户名字段
SQLPasswordField password #定义密码
SQLHomedirField homedir #定义用户目录
SQLLoginCountField count #定义登录次数
SQLShellField shell #定义登录shell
SQLAuthoritative off #除了可以进行sql认证,系统用户等别的认证方式也可以.

MaxInstances 30 #防止DOS攻击 1次允许30个连接

# Set the user and group that the server normally runs at.
User nobody
Group nobody

# Normally, we want files to be overwriteable.

AllowOverwrite on

第四步 添加用户、以及测试proftpd

可以手工向proftpd的user表中添加用户
USE proftpd
INSERT INTO users values( "aying", "123123", "/home", "0", "");

由于最终的目的是以web方式对ftp用户进行管理 所以还需要安装phpadmin 具体phpadmin的安装配置方法也不难 在这里我就不在多说了

好了 已经完工了 你可以启动你的proftpd了

然后测试一下
ftp 0
user aying
password 123123
ls 一下看看。。。。。。。。。。

哈哈 我进去了 成功的滋味总是那么甜蜜。。。。。。。。。。。。。。在这里也祝大家

 

来源:http://www.9guo.com/show.php?articleid=2267&&classid=74

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注