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

配置

  1. sudo nano /var/www/ftp/config.php  
  2.  
  3. $LANG = "Chinese";  
  4.  
  5. $LocationImages = "images";  
  6.  
  7. $DBHost = "127.0.0.1";  
  8.  
  9. $DBLogin = "ftpadmin";  
  10.  
  11. $DBPassword = "ftpadminPassword";  
  12.  
  13. $DBDatabase = "ftpusers";  
  14.  
  15. $FTPAddress = "xxxxx.com:21";  
  16.  
  17. $DEFUserID = "2001";  
  18.  
  19. $DEFGroupID = "2001";  
  20.  
  21. $UsersFile = "/etc/passwd";  
  22.  
  23. $GroupFile = "/etc/group";  
  24.  
  25. $StyleSheet = "style/default.css.php";  
  26.  
  27. $EnableQuota = 1;  
  28.  
  29. $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,希望本文对大家有用!


 类似资料: