Linux下VsFTP和ProFTP用户管理高级技巧
FTP
服务时互联网上比较古老的一种应用,至今Interner
应用面非常广泛,但令管理员头痛不已的是其用户管理,既多且杂,如何解决这一问题呢?使用MySQL
与ProFTP
或VsFTP
软件结合可以搭建一个高效、稳定且集中管理的FTP
服务器。本来就来介绍一下如何搭建一个方便管理的基于MySQL
数据库的FTP
服务器。 搭建基于数据库的FTP
服务器首先要选择合适的软件。下面就是所选择软件的详细信息: ◆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
两者不要在同台计算机同时使用,这样会造成意想不到的问题,读者根据自己的需求和软件的具体功能选择其中之一。 MySQL
的安装目录为/soft/program/mysql,ProFTPD
的安装目录为/soft/program/proftpd
,pam_mysq1.so
的安装目录为/soft/program/pam_mods
,/storage
是一个已经存在的目录,所有的FTP
用户上传和下载文件都存放在这里。 #useradd -g mysqlgrp 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 #./configure Prefix=/soft/program/mysql --with-extra-charsets=all 其中,
“--prefix=/soft/program/mysql
”参数是用来指定Mysql
的安装目录,“--with-extra-charsets=all
”是用来支持所有的字符集。 #cd /soft/program/mysql/bin ◆ 为了安全要修改数据库存放目录的属主信息和访问模式/soft/program/mysqll/var
为数据库存放的缺省目录 #chown –R mysqladm:mysqlgrp var #cd /soft/program/mysql/share/mysql #cp my-small.cnf /etc/my.cnf user=mysqladm #
表示用mysqladm
用户启动MySQL#
default-character-set=utf8 #
表示使用UTF-8
字符集,此种字符集通用性较好,也很好的支持中文,当然也可以直接使用GBK
。 Default-character-set=utf8
启动方式有两种,一种是手工启动,一种是自动启动,其中手工启动的操作如下: #cd /soft/program/mysql/bin 自动启动则需要在/etc/rc.d/rc/local
中加入以下的内容,开机自动启动MySQL
数据库: If [-x /soft/program/mysql/bin/mysqld_safe]; then install_path_name /bin/mysqld_safe& #cd /soft/program/mysql/bin #./mysqladmin -h localhost -u root password '123456' 上述命令的意思是本机上(-h host
)使用的管理数据库的缺省管理账号root
。需要注意的事,此root
并非Linux
系统中的root
用户,密码设置为123456.
◆切换到proftpd-1.3.2.tar.gz
文件所在的目录,执行以下步骤安装: #tar zxvf proftpd-1.3.2.tar.gz #./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
使用如下命令建立一个用于管理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 #cd /soft/program/proftpd/etc 用编辑器打开proftpd.conf,
修改一下的内容: #Set the user and group under which the server will run. 启动Proftpd
同样有两种方法,即手工启动和自动启动,其中手工启动操作如下: #cd /soft/program/proftpd/sbin/ 此时一个基本的FTP
服务器已经搭建成,可以进行测试了。需要注意的是,启动时如果出现具有以下信息的错误: error while loading shared libraries:libmysqlclient.so.15:cannot open shared object file:No such file or directory
用文本工具打开ld.so.conf,
添加以下的内容/soft/program/mysql/lib/mysql
要让ProFTPD
自动启动在/etc/rc.d/rc.local
中加入以下的内容,开机即可自启动ProFTPD:
/soft/program/proftpd/sbin/proftpd
本文转自 李晨光 51CTO博客,原文链接:http://blog.51cto.com/chenguang/217853 ,如需转载请自行联系原作者