天天看點

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