转自: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,希望本文对大家有用!