Linux下VsFTP和ProFTP用户管理高级技巧(1)


51CTO原创】FTP服务时互联网上比较古老的一种应用,至今Interner应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使用MySQL与ProFTP或VsFTP软件结合可以搭建一个高效、稳定且集中管理的FTP服务器。本来就来介绍一下如何搭建一个方便管理的基于MySQL数据库的FTP服务器。
一、软件版本的选择:
搭建基于数据库的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两者不要在同台计算机同时使用,这样会造成意想不到的问题,读者根据自己的需求和软件的具体功能选择其中之一。
建立程序安装目录
整个安装过程以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用户上传和下载文件都存放在这里。
安装MySQL
◆ 增加一个管理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
◆ 启动
启动方式有两种,一种是手工启动,一种是自动启动,其中手工启动的操作如下:
#cd /soft/program/mysql/bin
#./mysqld_safe&
自动启动则需要在/etc/rc.d/rc/local中加入以下的内容,开机自动启动MySQL数据库:
If [-x /soft/program/mysql/bin/mysqld_safe]; then
install_path_name /bin/mysqld_safe&
fi
◆ 修改管理员密码
使用如下命令修改数据库密码:
#cd /soft/program/mysql/bin
#./mysqladmin -h localhost -u root password '123456'
上述命令的意思是本机上-h host)使用的管理数据库的缺省管理账号root。需要注意的事,此root并非Linux系统中的root用户,密码设置为123456.


相关内容