摘要:FTP是一种校园网中常见的文件共享及存储网络服务, LINUX平台与Windows平台相比,在网络服务方面具有硬件要求配置低,安全性能好等诸多优点。如何有效管理FTP用户及相应用户设置是网络管理人员必须面对的问题,PureFTP支持MySQL数据库管理虚拟用户,非常便捷,是FTP服务架设的首选。该文介绍pureftp的安装,数据库配置,及用户如何通过网页对密码修改等方面内容。
关键词:FTP;虚拟用户;数据库
中图分类号:TP391 文献标识码:A文章编号:1009-3044(2011)36-0000-0c
FTP文件传输服务是一种校园网中常见的文件共享及存储网络服务,是最基本的网络服务之一。Linux操作系统具有性能稳定、安全性好的特点,基于Linux环境构建FTP服务一直受到广大用户的好评。
Linux下可选用的FTP服务器软件比较多,常见的有wu-ftpd、pureftpd、proftpd和vsftpd等。在用户数比较多的情况下,综合考虑FTP服务安全性、易用性及用户管理方便性,pureftp是一个不错的选择,特别是基于MySQL数据库的虚拟用户支持,直接操作数据库表就可以完成一些基本的用户配置。
1 软件安装
首先下载软件包,这里以pure-ftpd-1.0.21为例介绍pureftp的基本安装,安装前要确认系统已安装好MySQL数据库,及gcc编译支持。
1)解压安装包
tar zxvf pure-ftpd-1.0.21.tar.gz
2)进入解压目录
cd pure-ftpd-1.0.21
3)配置pure-ftpd各种安装选项
要支持mysql数据库,必须指定--with-mysql选项。
4)编译
make
5)安装
make install
6)生成配置脚本
cp configuration-file/pure-config.pl/usr/local/pureftpd/sbin/
cp configuration-file/pure-ftpd.conf/usr/local/pureftpd/etc
7)修改配置脚本权限
chmod +x /usr/local/pureftpd/sbin/pure-config.pl
8)建立FTP主目录、添加ftp系统账户
mkdir /var/ftp
useradd ftp -g ftp -d /var/ftp -s /sbin/nologin
至此匿名ftp服务已经配置好了。
2 mysql虚拟用户的支持
1)添加虚拟用户对应的系统账户
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /sbin/nologin ftpuser
2)创建MySQL数据库及数据库用户
Create database ftpusers
grant all on ftpusers.* to ftpadmin@localhost identified by ‘ftpadmin’
3)在刚创建的数据库中建立users表
表结构如下:
Users(user,password,uid,gid,dir,quotafiles,qutosize,ulbandwidth,dlbandwidth,ipaddress,comment,status,ulratio,dlratio)
其中字段uid、gid是指前面建立的系统用户和用户组 ftpuser、ftpgroup,是指虚拟用户对应的系统真实账户,dir指用户主目录,其它字段主要是一些指定用户特性的配置,如空间大小,传输速率等。
4)修改配置文件,让PureFTP连接、使用ftpusers数据库
打开配置文件 Vi /etc/pureftpd-mysql.conf
修改下面几项
MYSQLServer //数据库服务器地址
MYSQLUser//数据库用户
MYSQLPassword //用户密码
MYSQLDatabase //数据库名称
MYSQLCrypt//密码加密方式
打开pureftp配置文件 vi /usr/local/pureftpd/etc/pure-ftpd.conf
修改下面的项:
MySQLConfigFile /usr/local/pureftpd/etc/pureftpd-mysql.省略网页让用户可以修改自己的密码
在.NET平台下连接MySQL数据库需要安装MySQL Connector Net 数据接口,在网页中要通过引用MySql.Data.MySqlClient来使用。以下是连接数据库代码:
string constr = "server=数据库服务地;User Id=ftpadmin;password=ftpadmin;Database=ftpusers"
MySqlConnection mycon = new MySqlConnection(constr)
mycon.Open()
其他操作就是一般的数据库数据读取、修改操作。其流程是先比对用户输入老密码是否正确,在正确的情况下修改数据为新密码。
3 结束语
Pureftp结合MySQL数据库实现虚拟FTP用户,方便了网管的日常用户管理。本文所述操作经实践检验正确可行,以上是pureftp安装配置的粗略介绍,具体详细安装步骤需要在安装过程中实践。在具体的使用过程中还需要注意FTP服务器的安全性问题,配置过程中要对安全性配置选项作一定的设置。
参考文献:
[1] 冷罡华.Ubuntu Server最佳方案[M].北京:电子工业出版社 ,2009.