pureftpd ubuntu配置指南

徐唯
2023-12-01

转自:http://os.51cto.com/art/201103/246814.htm


Pureftpd是一款快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,今天我给大家详细介绍下:ubuntu 下 Pureftpd 的具体配置。

本文将记下pureftpd的完整安装命令,较基础,适合非专业系统管理员参考,哈哈

一、ok,首先安全pureftpd,很简单

Sudo apt-get install pure-ftpd-mysql (mysql-server)

括号内的,mysql-server表示如果你没有安装过mysqlserver的话,还需同时安装mysql,其实pureftpd还支持其他数据库系统,如ldap,postgresql等,但本人比较熟悉的mysql,所以就用mysql了,呵呵

二、 配置pure-ftpd

添加用户和组

Sudo groupadd –g 2001 ftpgroup

Sudo useradd –u 2001 –s /bin/false –d /dev/null –c “Pure-FTPd User” –g ftpgroup ftpuser

注:/bin/false使得用户使用/bin/false作为shell,无法登陆到服务器shell环境并将home目录设置到/dev/null,如有特殊需要,可将某ftp用户和操作系统中其他用户关联

Chroot设置

Sudo sh –c “echo ‘yes’ > /etc/pure-ftpd/conf/ChrootEveryone”

Mysql

进入mysql

CREATE DATABASE ftpusers

为此数据库建立相应用户并赋予权限

创建用户表

CREATE TABLE IF NOT EXISTS `users` (

`User` varchar(16) NOT NULL default '',

`Password` varchar(32) NOT NULL default '',

`Uid` int(11) NOT NULL,

`Gid` int(11) NOT NULL,

`Dir` varchar(128) NOT NULL default '',

`QuotaFiles` int(10) NOT NULL default '500',

`QuotaSize` int(10) NOT NULL default '30',

`ULBandwidth` int(10) NOT NULL default '80',

`DLBandwidth` int(10) NOT NULL default '80',

`Ipaddress` varchar(15) NOT NULL default '*',

`Comment` tinytext,

`Status` enum('0','1') NOT NULL default '1',

`ULRatio` smallint(5) NOT NULL default '1',

`DLRatio` smallint(5) NOT NULL default '1',

PRIMARY KEY (`User`),

UNIQUE KEY `User` (`User`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

配置Pure-FTPd 的mysql.conf

sudo cp /etc/pure-ftpd/db/mysql.conf_orig /etc/pure-ftpd/db/mysql.conf

sudo nano /etc/pure-ftpd/db/mysql.conf

找到相应的数据库相关信息修改即可

修改权限,防止其他用户组读取

sudo chmod g=o= /etc/pure-ftpd/db/mysql.conf

重启

sudo /etc/init.d/pure-ftpd-mysql restart

  三、 实现web管理

安装User manager for PureFTPd

Cd ~

wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz

cd /var/www

sudo tar xfvz ~/ftp_v2.1.tar.gz

配置

sudo nano /var/www/ftp/config.php   $LANG = "Chinese";   $LocationImages = "images";   $DBHost = "127.0.0.1";   $DBLogin = "ftpadmin";   $DBPassword = "ftpadminPassword";   $DBDatabase = "ftpusers";   $FTPAddress = "xxxxx.com:21";   $DEFUserID = "2001";   $DEFGroupID = "2001";   $UsersFile = "/etc/passwd";   $GroupFile = "/etc/group";   $StyleSheet = "style/default.css.php";   $EnableQuota = 1;   $EnableRatio = 1;  

设置User manager for PureFTPd 管理员

mysql -u root -p

mysql> USE ftpusers;

mysql> CREATE TABLE IF NOT EXISTS `admin` (

`Username` varchar(35) NOT NULL default '',

`Password` char(32) NOT NULL default '',

PRIMARY KEY (`Username`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `admin` (`Username`, `Password`) VALUES

('ftpadmin', MD5('ftpadminPassword'));

mysql> quit

ok,over 基本就这样了,其中的ftpadminpassword,ftpadmin xxxx.com 等,换上自己喜欢的用户名密码,网址什么的即可,就不再多做说明,另外不要忘了为ftp的web管理加上相应的vhost哦

通过上文的介绍和分析,我们知道了如何在ubuntu 下配置个完整的Pureftpd,希望本文对大家有用!


 类似资料: