- 论坛徽章:
- 0
|
一、下载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
[email=pureftpd@localhost]pureftpd@localhost[/email]
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
useradd pureftpusers -u 2000 -g pureftpusers -d /ftproot -s /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来访问文件系统的,所以要设置目录的写权限,只需要设置对应的系统用户的对该目
录的写入权限即可。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4753/showart_1667171.html |
|