天天看點

centos5.6 (64bit)編譯安裝vsftpd-2.3.4的配置(兩種使用者登入)[連載之電子商務系統架構]

centos5.6 (64bit)編譯安裝vsftpd-2.3.4的配置(兩種使用者登入)

作者:Jimmy Li

關鍵詞:電子商務,系統架構,vsftpd,本地使用者登入,虛拟使用者登入

------[連載之電子商務系統架構]通路量超過100萬的電子商務網站技術架構

上一篇中首先分享一份:通路量超過100萬的電子商務網站技術架構.PNG圖,架構中的伺服器,都必須遠端傳輸檔案,最佳方案當然是用FTP了。那麼伺服器搭建FTP當然是首要的任務了。虛拟使用者登入比本地使用者登入安全系數高。因為vsftpd虛拟使用者,并不是系統的賬号,也就僅用來支援Vsftpd服務用,是以沒有許可他登陸系統的必要,比直接設定本地使用者登入賬号為登陸系統的使用者安全性高。

一、文章要點:

1.64位系統下使用了PAM資料方式的虛拟使用者配置

2.修改關鍵腳本,是編譯成功通過。必要步驟,詳細安裝配置說明過程。

3.完全配置執行個體,Centos5.6編譯安裝vsftpd-2.3.4(配置本地使用者登入、虛拟使用者登入)

下載下傳

tar xzvf vsftpd-2.3.4.tar.gz 

cd vsftpd-2.3.4

關鍵步驟:由于64位系統的SO檔案路徑有變化,必須更改vsf_findlibs.sh腳本的将lib換成lib64

可以手工修改,也可以執行批量修改。

sed -i 's/lib\//lib64\//g' vsf_findlibs.sh    這裡不執行,在64位系統是無法make成功的

mkdir /var/ftp/

useradd -d /var/ftp ftp

chown root.root /var/ftp/

chmod og-w /var/ftp/

make

make install

cd /etc/

cp /etc/vsftpd/vsftpd.conf.rpmsave vsftpd.conf

二、詳細安裝配置說明過程:

1、首先是安裝PAM

yum install pam-devel db4-utils

2、安裝vsftpd

yum install vsftpd* 

3、檢視vsftpd是否加載 pam

ldd /usr/sbin/vsftpd

若輸出中出現ibpam.so.0 => /lib/libpam.so.0,表示加載成功

4、生成使用者驗證資料庫檔案

1)建立loguser.txt,格式如下(使用者、密碼、使用者、密碼.....)

userid 

pass

2)儲存後,使用db_load -T -t hash -f loguser.txt /etc/vsftpd/vsftpd_login.db,檢視該目錄下檔案是否生成

     設定通路權限 chmod 600 /etc/vsftpd_login.db

5、vim /etc/pam.d/vsftpd

     在頭部添加如下行

     auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

     account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

    注意,若為64位作業系統,此處的路徑應該修改為

     auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 

     account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

    否則,啟動vsftpd後,會報530錯誤,這個錯誤我也是找了好久才明白的,之前其他網站上同類說明檔案,均沒有說明此問題

    将其它的内容注釋掉

6、vim /etc/vsftpd/vsftpd.conf,確定含有一下設定:

        anonymous_enable=NO 

        local_enable=YES 

        write_enable=NO 

        anon_upload_enable=NO 

        anon_mkdir_write_enable=NO 

        anon_other_write_enable=NO 

        chroot_local_user=YES 

        guest_enable=YES 

        guest_username=virtual //---這裡為映射的本地使用者 

        listen=YES 

        listen_port=21 

        pasv_min_port=30000 

        pasv_max_port=30999

7、啟動vsftpd

三、完全配置執行個體

Centos5.6編譯安裝vsftpd-2.3.4(配置本地使用者登入)

tar zxvf vsftpd-2.3.4.tar.gz

mkdir -p /usr/local/man/man8

mkdir -p /usr/local/man/man5

make && make install

cd ../

vim /etc/vsftpd.conf

mkdir /etc/vsftpd

touch /etc/vsftpd/chroot_list

echo "/usr/local/sbin/vsftpd &" >> /etc/rc.local

mkdir /var/ftp

touch /etc/vsftpd/userlist.chroot

touch /etc/vsftpd/userlist_deny.chroot

touch /var/log/vsftpd.log

mkdir -p /usr/share/empty

#防火牆 selinux設定

/usr/local/sbin/vsftpd &

setsebool -P ftpd_disable_trans on

/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

/etc/rc.d/init.d/iptables save

/etc/init.d/iptables restart

useradd -d /home/wwwroot -s /sbin/nologin adminftp

pkill vsftpd

最後記得設定adminftp密碼

指令:passwd adminftp然後輸入兩次新密碼

請關注連載續篇,歡迎朋友一起交流,讨論。扣扣:柒⑥柒陸叁⑤叁伍。

     本文轉自jimmy_lixw 51CTO部落格,原文連結:http://blog.51cto.com/jimmyli/683599,如需轉載請自行聯系原作者