Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71039
  • 博文数量: 3
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-08 20:42
文章分类

全部博文(3)

文章存档

2011年(1)

2008年(2)

我的朋友

分类: BSD

2008-11-26 13:59:11

一、下载pureftp源代码,并确定mysql已经安装好

tar zxvf pure-ftpd-1.0.20.tar.gz
cd pure-ftpd-1.0.20

./configure --prefix=/usr/local/pureftpd --with-cookie --with-throttling --with-ratios --with-quotas --with-sysquotas --with

-largefile --with-welcomemsg --with-uploadscript --with-virtualhosts --with-virtualroot --with-virtualchroot --with-

diraliases --with-peruserlimits --with-language=simplified-chinese --with-mysql=/usr/local/mysql --with-paranoidmsg --with-

altlog

make
make check
make install
mkdir -m 777 /usr/local/pureftpd/etc
cp pureftpd-mysql.conf /usr/local/pureftpd/etc/pureftpd-mysql.conf
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
cp configuration-file/pure-config.pl /usr/local/pureftpd/bin/pure-config.pl

注意    --prefix=/usr/local/pureftpd 参数指定了pureftpd的安装路径
        --with-mysql=/usr/local/mysql 参数指定了mysql的安装路径
        --with-language=simplified-chinese 参数指定了服务器返回信息使用的语言

二、建立mysql认证数据库表

    在mysql服务器中建立pureftpd数据库

mysql> CREATE DATABASE pureftpd;
mysql> grant all on pureftpd.* to identified by 'pureftpd';
mysql> use pureftpd;
mysql> CREATE TABLE `users` (
       `id` int(32) unsigned NOT NULL auto_increment,
       `User` varchar(16) NOT NULL default '',
       `Password` varchar(64) NOT NULL default '',
       `Uid` varchar(11) NOT NULL default '-1',
       `Gid` varchar(11) NOT NULL default '-1',
       `Dir` varchar(128) NOT NULL default '',
       `QuotaSize` smallint(5) NOT NULL default '0',
       `QuotaFiles` int(11) NOT NULL default '0',
       `ULBandwidth` smallint(5) NOT NULL default '0',
       `DLBandwidth` smallint(5) NOT NULL default '0',
       `ULRatio` smallint(6) NOT NULL default '0',
       `DLRatio` smallint(6) NOT NULL default '0',
       `comment` tinytext NOT NULL,
       `ipaccess` varchar(15) NOT NULL default '*',
       `status` enum('0','1') NOT NULL default '0',
       `create_date` datetime NOT NULL default '0000-00-00 00:00:00',
       `modify_date` datetime NOT NULL default '0000-00-00 00:00:00',
       PRIMARY KEY  (`id`,`User`),
       UNIQUE KEY `User` (`User`)
       ) TYPE=MyISAM AUTO_INCREMENT=5 ;


三、建立用于pureftpd认证用户的系统信息

    建立用于pureftpd认证用户的登陆目录

 mkdir /ftproot
 groupadd pureftpusers -g 2000

(freebsd下为:pw group add -n ftpgroup -g 2000 )
 useradd pureftpusers -u 2000 -g pureftpusers -d /ftproot -s /sbin/nologin

(pw user add -n ftp -g ftpgroup -s /usr/sbin/nologin )
 chown pureftpusers /ftproot
 chgrp pureftpusers /ftproot
 chmod 500 /ftproot
 chmod 700 /ftproot


四、修改pureftpd的配置文件

    修改配置文件
vi /usr/local/pureftpd/etc/pure-ftpd.conf

代码:
MaxClientsNumber            100
MaxClientsPerIP             3
MaxIdleTime                 5
MySQLConfigFile             /usr/local/pureftpd/etc/pureftpd-mysql.conf
AntiWarez                   no
Bind                        *,21
AnonymousBandwidth          800
AllowUserFXP                yes
NoChmod                     yes
IPV4Only                    yes
DisplayDotFiles             no


代码:
vi /usr/local/pureftpd/etc/pureftpd-mysql.conf

代码:
MYSQLUser       pureftpd
MYSQLPassword   pureftpd
密码在数据表中的存储方式,这里选择加密
MYSQLCrypt      crypt
MYSQLSocket     /temp/mysql.sock


五、运行pureftpd


INSERT INTO `users` VALUES (1, 'xieyingwu', encrypt('xieyingwu'), '2000', '2000', '/ftproot/xieyingwu', 0, 0, 0, 0, 0, 0, '',

'*', '1', '2005-04-04 09:20:33', '2005-04-04 09:20:33');

运行pureftpd服务器
代码:
/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf


现在在客户端使用浏览器打开http://服务器IP:21
使用用户xieyingwu:xieyingwu即可登陆,可看到/ftproot/xieyingwu下的内容

八、高级应用
pureftpd认证用户是使用其影射到的系统用户的uid和gid来访问文件系统的,所以要设置目录的写权限,只需要设置对应的系统用户的对该目

录的写入权限即可。

阅读(3538) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~