天天看點

基于虛拟賬号的vsftp

虛拟使用者賬号是為了保證FTP伺服器的安全性,由vsftpd伺服器提供的非系統使用者賬号。虛拟使用者FTP登入後把指定的目錄作為FTP根目錄。虛拟使用者與本地使用者具有類似的功能,由于虛拟使用者相對安全,是以正逐漸替代本地使用者賬号。

vsftpd虛拟使用者賬号設定過程:

⑴ 建立虛拟賬号庫檔案。

⑵ 生成vsftpd的認證資料庫檔案。

⑶ 建立虛拟使用者所需的PAM配置檔案。

⑷ 建立虛拟使用者所要通路的目錄并設定相應權限。

⑸ 設定vsftpd.conf配置檔案。

一:安裝vsftp伺服器:

[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

[root@lyt Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm      #安裝vsftp主程式

[root@lyt Server]# service vsftpd start

[root@lyt Server]# chkconfig vsftpd on      #設定開機自動啟動

二:建立虛拟賬号庫:

[root@lyt Server]# cd /etc/vsftpd/

[root@lyt vsftpd]# vim viruser.txt       #建立虛拟的賬号庫檔案

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803905NfeM.png"></a>

三:生成vsftp的認證資料庫檔案:(使用db_load指令)

[root@lyt Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm      #安裝包含db_load指令的軟體包

[root@lyt Server]# db_load -T -t hash –f  /etc/vsftpd/viruser.txt  /etc/vsftpd/viruser.db    #使用該指令将viruser.txt檔案轉換為認證資料庫檔案viruser.db

[root@lyt vsftpd]# vim /etc/pam.d/vsftpd

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_134780390685CS.png"></a>

四:建立虛拟使用者所要通路的目錄并設定相應權限

[root@lyt vsftpd]# useradd user1     #建立使用者user1

[root@lyt vsftpd]# passwd user1

[root@lyt vsftpd]# cd /home/user1/

[root@lyt user1]# touch f1        #在user1的家目錄中建立檔案f1

[root@lyt user1]# chmod 755 /home/user1/ 

[root@lyt vsftpd]# vim /etc/vsftpd/vsftpd.conf

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803907DmzR.png"></a>

[root@lyt vsftpd]# service vsftpd restart

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803909ZqkQ.png"></a>

附:

1:使用本地賬戶和匿名賬戶登入檢視下載下傳速率:

[root@lyt Server]# mkdir /tmp/qq     #建立一個目錄qq

[root@lyt Server]# cd /tmp/qq/

[root@lyt qq]# rpm2cpio /mnt/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm |cpio –id      #将vsftp包拆解

[root@lyt qq]# cd etc/pam.d/

[root@lyt pam.d]# cp vsftpd /etc/pam.d/

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803910cgya.png"></a>

[root@lyt pam.d]# vim /etc/vsftpd/vsftpd.conf

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803911qzrE.png"></a>

[root@lyt pam.d]# service vsftpd restart

[root@lyt pam.d]# cd /var/ftp/pub/

[root@lyt pub]# dd if=/dev/zero of=f1 bs=1M count=1     #在匿名目錄中建立一個1M大小的檔案f1

[root@lyt pub]# cp f1 /home/user1/       #将該檔案拷貝到本地使用者user1的家目錄中

測試:

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803912msQS.png"></a>

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803914nC9Z.png"></a>

筆者在使用本地使用者user1登入後下載下傳時出現了一點小問題,這裡交給筆者探讨解決:

2:同時線上的使用者數量:

[root@lyt pub]# vim /etc/vsftpd/vsftpd.conf

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803915hznJ.png"></a>

[root@lyt pub]# service vsftpd restart

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803916lUHh.png"></a>

3:限制每個ip位址的最大連接配接數:

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803916Xeff.png"></a>

<a href="http://5493845.blog.51cto.com/attachment/201209/16/5493845_1347803917tXMM.png"></a>

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