Linux下VsFTP和ProFTP使用者管理高階技巧之一
原創作品,允許轉載,轉載時請務必以超連結形式標明文章 原始出處 、作者資訊和本宣告。否則將追究法律責任。http://chenguang.blog.51cto.com/350944/217853
Linux下VsFTP和ProFTP使用者管理高階技巧
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.
安裝ProFTPD
◆切換到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的目錄路徑。
#make
#make install
使用如下命令建立一個用於管理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
相關文章
- CSS高階技巧CSS
- JS高階技巧JS
- JavaScript 高階技巧JavaScript
- Linux下使用者和組的管理Linux
- 高階領導者管理時間和認知負荷的技巧 - MiteMIT
- Linux下more命令高階用法Linux
- Linux下mv命令高階用法Linux
- 分享Linux Grep高階使用者指南Linux
- LINUX下的使用者和組的概念和管理Linux
- Python模組高階技巧Python
- 常用JavaScript的高階技巧JavaScript
- Github高階搜尋技巧Github
- CSS 高階佈局技巧CSS
- 《前端之路》之 JavaScript 高階技巧、高階函式(一)前端JavaScript函式
- Linux管理伺服器常用高階指令Linux伺服器
- Linux - Vsftp之安裝和配置LinuxFTP
- 雲擴研習社 | RPA高階開發技巧(下)
- iOS 核心動畫高階技巧 - 1iOS動畫
- JS高階技巧(簡潔版)JS
- ZeroMQ 教程 002 : 高階技巧MQ
- Unix 高階使用者命令 lsof 和 fuser (zt)
- 高階管理員指南
- Linux下 ls 命令的高階用法8例Linux
- CSS使用的一些小技巧/高階進階CSS
- JavaScript常用的簡潔高階技巧JavaScript
- 24個 CSS 高階技巧合集CSS
- iOS高階開發者面試必過技巧iOS面試
- LinuxShell高階技巧(目錄)Linux
- jQuery高階技巧——效能優化篇jQuery優化
- 如何使用GOOGLE高階搜尋技巧Go
- Python高階程式設計技巧Python程式設計
- 12 個 CSS 高階技巧彙總CSS
- Linux 使用者和使用者組管理Linux
- Linux高階命令Linux
- linux VSFTP配置大全LinuxFTP
- unix環境高階程式設計(下)-高階IO和程式間通訊篇程式設計
- 【轉】Linux下history命令配置及高階應用Linux
- Linux環境下的高階列印系統(轉)Linux