天天看点

Linux下VsFTP和ProFTP用户管理高级技巧 之一

<b>linux</b><b>下</b><b>vsftp</b><b>和</b><b>proftp</b><b>用户管理高级技巧</b>

    ftp服务时互联网上比较古老的一种应用,至今interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使用mysql与proftp或vsftp软件结合可以搭建一个高效、稳定且集中管理的ftp服务器。本来就来介绍一下如何搭建一个方便管理的基于mysql数据库的ftp服务器。

<b>一、软件版本的选择:</b><b></b>

搭建基于数据库的ftp服务器首先要选择合适的软件。下面就是所选择软件的详细信息:

◆linux版本rhel5;

◆mysql版本mysql-standard-5.1.30-1.rhel5.src.rpm;

◆ftp服务器proftpd-1.3.2.tar.gz和vsftpd-2.2.1.tar.gz;

◆mysql的pam验证程序pam_mysql-0.8rc1.tar.gz;

    需要说明的是,rhel5安装时自定义安装,“development tools”项必须选择,否则编译调试软件时需要的软件包需另行安装;其次,要确保所安装linux系统时没有安装mysql与ftp服务器等软件,如果有则先卸载;再次,proftpd与vsftpd两者不要在同台计算机同时使用,这样会造成意想不到的问题,读者根据自己的需求和软件的具体功能选择其中之一。

<b>建立程序安装目录</b>

整个安装过程以root用户执行如下命令:

    #cd /soft/programe

    #mkdir mysq

  需要注意目录名称的大小写。

    #mkdir proftpd

    #mkdir pam_mods

mysql的安装目录为/soft/program/mysql,proftpd的安装目录为/soft/program/proftpd,pam_mysq1.so的安装目录为/soft/program/pam_mods,/storage是一个已经存在的目录,所有的ftp用户上传和下载文件都存放在这里。

<b>安装mysql</b>

◆ 增加一个管理mysql的用户和组:

#groupadd mysqlgrp

#useradd  -g mysqlgrp mysqladm

#passwd  mysqladm

◆ 切换到mysql-stan-dard-5.1.30-1.rhel5.src.rpm文件所在的目录,执行以下步骤安装:

#rpm-ivh mysql-stan-dard-5.1.30-1.rhel5.src.rpm

此条命令解压出mysql-5.1.30.tar.gz文件存放在以下的目录中。

#cd /usr/src/redhat/source

#tar zxvf mysqt-5.1.30.tar.gz

#cd mysql-5.1.30

#./configure prefix=/soft/program/mysql --with-extra-charsets=all

其中,“--prefix=/soft/program/mysql”参数是用来指定mysql的安装目录,“--with-extra-charsets=all”是用来支持所有的字符集。

#make

#make install

◆ 初始化数据库

#cd /soft/program/mysql/bin

#./mysql_install_db

◆ 为了安全要修改数据库存放目录的属主信息和访问模式/soft/program/mysqll/var为数据库存放的缺省目录

#cd /soft/program/mysql

#chown –r mysqladm:mysqlgrp var

#chmod -r go-wrx var

◆ 修改配置文件

#cd /soft/program/mysql/share/mysql

#cp my-small.cnf /etc/my.cnf

#cd /etc

在my.cnf文件中,增加如下内容:

[mysql]

user=mysqladm  #表示用mysqladm 用户启动mysql#

default-character-set=utf8  #表示使用utf-8字符集,此种字符集通用性较好,也很好的支持中文,当然也可以直接使用gbk。

 [clent]

default-character-set=utf8

◆ 启动

启动方式有两种,一种是手工启动,一种是自动启动,其中手工启动的操作如下:

#./mysqld_safe&amp;

自动启动则需要在/etc/rc.d/rc/local中加入以下的内容,开机自动启动mysql数据库:

if [-x /soft/program/mysql/bin/mysqld_safe]; then

    install_path_name /bin/mysqld_safe&amp;

fi

◆ 修改管理员密码

使用如下命令修改数据库密码:

#./mysqladmin -h localhost -u root password '123456'

上述命令的意思是本机上(-h host)使用的管理数据库的缺省管理账号root。需要注意的事,此root并非linux系统中的root用户,密码设置为123456.

<b>安装proftpd</b>

◆切换到proftpd-1.3.2.tar.gz文件所在的目录,执行以下步骤安装:

#tar zxvf proftpd-1.3.2.tar.gz

#cd proftpd-1.3.2

#./configure--prefix=/soft/program/proftpd --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql

此参数将支持mysql和quota模块添加进来。

--with-includes=/soft/program/mysql/include/mysql

上述参数指定mysql中include的目录路径。

--with-libraries=/soft/program/mysql/lib/mysql

此参数指定mysql中lib的目录路径。

使用如下命令建立一个用于管理proftpd的linux系统账号和组。

#groupadd  -g  2009 ftpgroup

#useradd -u 2009 –s /bin/false -d /storage -g ftpgroup ftpuser

#chown  -r  ftpuser.ftpgroup /storage

#chmod –r go-wrx- /storage

#chmod –r u+wrx /storage

简单修改proftpd配置文件,使之正常运行:

#cd /soft/program/proftpd/etc

用编辑器打开proftpd.conf,修改一下的内容:

#set the user and group under which the server will run.

user    ftpuser

group   ftpgroup

◆启动proftpd

启动proftpd同样有两种方法,即手工启动和自动启动,其中手工启动操作如下:

#cd /soft/program/proftpd/sbin/

#./proftpd

此时一个基本的ftp服务器已经搭建成,可以进行测试了。需要注意的是,启动时如果出现具有以下信息的错误:

error while loading shared libraries:libmysqlclient.so.15:cannot open shared object file:no such file or directory

通常的解决办法如下:

#cd  /etc

用文本工具打开ld.so.conf,添加以下的内容/soft/program/mysql/lib/mysql

#ldconflg

更新ld.so cache file。

要让proftpd自动启动在/etc/rc.d/rc.local中加入以下的内容,开机即可自启动proftpd:

/soft/program/proftpd/sbin/proftpd