Linux下基于数据库支持虚拟用户FTP的实现

2011-12-31 00:00:00周军宏
电脑知识与技术 2011年36期


  摘要: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(u