搭建vsftpd服務器,使用匿名帳戶登入

系統:linuxhtml

vsftp版本:version 2.2.2 (yum install vsftpd)linux

FTP的登陸通常有三種方式,分別是:數據庫

  • 匿名用戶形式:默認安裝的狀況下,系統只提供匿名用戶訪問,只須要輸入用戶anonymous/ftp,並將本身的Email做爲口令便可登陸。
  • 本地用戶形式:以/etc/passwd中的用戶名爲認證方式。
  • 虛擬用戶形式:支持將用戶名和密碼保存在文件或數據庫中,將登陸用戶映射到指定的系統帳號(/sbin/nologin)來訪問資源,其中這些虛擬用戶是FTP的用戶。

從安全性考慮,對於多用戶登入、爲了方便對用戶權限進行管理,通常都是用虛擬用戶形式。vim

 

Vsftp安裝:瀏覽器

       若是能夠連外網,能夠直接使用命令:  yum install vsftpd (建議用這種方式,這個會自動把依賴搞好)安全

       若是用tar包,  tar –zxvf vsftpd-3.0.2.tar.gz服務器

                              make && make install 性能

 

ftp虛擬賬號優化

公司爲了宣傳最新的產品信息,計劃搭建FTP 服務器,爲客戶提供相關文檔的下載。對全部互ui

聯網開放共享目錄,容許下載產品信息,禁止上傳。公司的合做單位可以使用FTP 服務器進行上

傳和下載,但不能夠刪除數據。須要保證服務器的穩定性並作優化。

 

建立ftp虛擬賬號。容許客戶使用ftp賬號下載文件。 可是,大家本身的合做夥伴賬號:vip賬號能夠上傳一內部文件。

 

需考慮到服務器的安全性,因此關閉實體用戶登陸,使用虛擬賬號驗證機制,並對不一樣虛擬賬號設置不

同的權限。

保證服務器的性能,還須要根據用戶的等級,限制客戶端的鏈接數及下載速度。

 

1、建立用戶數據庫

(1)建立用戶文本文件

先創建用戶文本文件vsftpd_virtualuser.txt,添加兩個虛擬賬號,公共賬號ftp 及客戶賬號

vip

[root@xuegod63 vsftpd]# vim /etc/vsftpd/vsftpd_virtualuser.txt  #寫入如下內容。格式一行用戶一行密碼。

ftp  #

123456  #密碼

vip

123456

 

(2)生成數據庫

保存虛擬賬號和密碼的文本文件沒法被系統賬號直接調用。咱們須要使用db_load 命令生成db

數據庫文件

安裝:

[root@xuegod63 vsftpd]# rpm -qf `which db_load `

db4-utils-4.7.25-16.el6.x86_64

 

# db_load -T -t hash -f /etc/vsftpd/vsftpd_virtualuser.txt  /etc/vsftpd/vsftpd_virtualuser.db

選項-T容許應用程序可以將文本文件轉譯載入進數據庫

-t hash使用hash碼加密

-f 指定包含用戶名和密碼文本文件。此文件格式要示:奇數行用戶名、偶數行密碼

 

[root@xuegod63 vsftpd]# rm -rf /etc/vsftpd/vsftpd_virtualuser.txt   #爲了安全,刪除此文件。後期再也不使用此文件。

 

(3)修改數據庫文件訪問權限

[root@xuegod63 vsftpd]# chmod 600 /etc/vsftpd/vsftpd_virtualuser.db

[root@xuegod63 vsftpd]# ll !$

ll /etc/vsftpd/vsftpd_virtualuser.db

-rw------- 1 root root 12288 Nov 10 21:16 /etc/vsftpd/vsftpd_virtualuser.db

 

2、配置PAM 文件

爲了使服務器可以使用數據庫文件,對客戶端進行身份驗證,須要調用系統的PAM 模塊.

PAM概述:

PAM(Plugable Authentication Module)爲可插拔認證模塊,沒必要從新安裝應用系統,經過修

改指定的配置文件,調整對該程序的認證方式。PAM 模塊配置文件路徑爲/etc/pam.d/目錄,此

目錄下保存着大量與認證有關的配置文件,並以服務名稱命名。

 

vim  /etc/pam.d/vsftpd

修改vsftpd 對應的PAM 配置文件/etc/pam.d/vsftpd。將默認配置使用「#」所有註釋,下面添加兩行,pam_userdb.so能夠寫成/lib64/security/pam_userdb.so的絕對路徑

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

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

 

3、建立虛擬賬號對應的系統用戶及ftp共享的目錄

對於公共賬號和客戶賬號,由於須要配置不一樣的權限,因此能夠將兩個賬號的目錄進行隔離,控

制用戶的文件訪問。公共賬號ftp 對應系統賬號ftpuser,並指定其主目錄爲/var/ftp/share,

而客戶賬號vip 對應系統賬號ftpvip,指定主目錄爲/var/ftp/vip。

[root@xuegod63 vsftpd]# useradd -d /var/ftp/share ftpuser

[root@xuegod63 vsftpd]# useradd -d /var/ftp/vip ftpvip

[root@xuegod63 vsftpd]# chmod -R 500 /var/ftp/share/  #修改權限

[root@xuegod63 vsftpd]# chmod -R 700 /var/ftp/vip/

 

chmod -R 500 /var/ftp/share/ :公共賬號ftp 只容許下載,修改share 目錄其餘用戶權限爲

rx 可讀可執行。

chmod -R 700 /var/ftp/vip/ :客戶賬號vip 容許上傳和下載,因此對vip 目錄權限設置爲rwx,

可讀可寫可執行。

 

4、創建配置文件

一個配置文件沒法實現此功能,須要爲每一個虛擬賬號創建獨立的配置文件,並根據須要進行相應的設置。

 

(1)修改vsftpd.conf 主配置文件

 

[root@xuegod63 vsftpd]# cp vsftpd.conf.back vsftpd.conf

禁用匿名用戶登陸並啓用本地用戶登陸設置

vim vsftpd.conf

改:

#anonymous_enable=YES

 

爲:

#anonymous_enable=NO

 

local_enable=YES   #確認此選項打開,容許本地用戶登陸。 Uncomment :取消註釋

chroot_local_user=YES   #確認此選項打開。將全部本地用戶限制在家目錄中,NO 則不限制

 

pam_service_name=vsftpd  #確認在文件的最後有選項。配置vsftpd 使用的PAM 模塊爲vsftpd

在此選項後面追加:

user_config_dir=/etc/vsftpd/vuserconfig:設置虛擬賬號的主目錄爲 vuserconfig

max_clients=300:設置FTP 服務器最大接入客戶端數爲300 個

max_per_ip=10:設置每一個IP 地址最大鏈接數爲10 個

 

(2)創建虛擬賬號配置文件

在user_config_dir 指定路徑下,創建與虛擬賬號同名的配置文件並添加相應的配置字段

首先創建公共賬號ftp 的配置文件

 

[root@xuegod63 ~]# grep vuserconfig /etc/vsftpd/vsftpd.conf   #查看要建立的目錄名

user_config_dir=/etc/vsftpd/vuserconfig

[root@xuegod63 ~]# mkdir /etc/vsftpd/vuserconfig

[root@xuegod63 ~]# touch /etc/vsftpd/vuserconfig/ftp

[root@xuegod63 ~]# touch /etc/vsftpd/vuserconfig/vip

 

配置虛擬賬號配置文件,寫入如下內容:

[root@xuegod63 ~]# vim /etc/vsftpd/vuserconfig/ftp

guest_enable=yes

guest_username=ftpuser

anon_world_readable_only=no

anon_max_rate=50000

解釋:

guest_enable=yes開啓虛擬賬號登陸

guest_username=ftpuser設置ftp 對應的系統賬號爲ftpuser

anon_world_readable_only=no容許匿名用戶瀏覽器整個服務器的文件系統

anon_max_rate=50000限定傳輸速率爲50KB/s

 

注意:

vsftpd 對於文件傳輸速度限制並非絕對鎖定在一個數值上哈,而是在80%~120%之間變化

好比設置100KB/s 則實際是速度在80KB/s~120KB/s 之間變化

 

下面是合做夥伴賬號的配置文件vip

[root@xuegod63 ~]# vim /etc/vsftpd/vuserconfig/vip  #寫入如下內容

guest_enable=yes

guest_username=ftpvip

anon_world_readable_only=no

write_enable=yes

anon_mkdir_write_enable=yes

anon_upload_enable=yes

anon_max_rate=100000

 

解釋:

guest_enable=yes開啓虛擬賬號登陸

guest_username=ftpvip設置ftp 對應的系統賬號爲ftpvip

anon_world_readable_only=no容許匿名用戶瀏覽器整個服務器的文件系統

write_enable=yes容許在文件系統寫入權限

anon_mkdir_write_enable=yes:容許建立文件夾

anon_upload_enable=yes開啓匿名賬號的上傳功能

anon_max_rate=100000限定傳輸速度爲100KB/s

 

附:

       若是想要將虛擬帳戶限制在某個路徑,須要在該帳戶的文件中配置:

       local_root=/home/lxxd/dssj/Shenzhen

       容許帳戶刪除權限

anon_other_write_enable=YES

 

5、重啓vsftpd 使配置生效

[root@xuegod63 ~]# service vsftpd restart

相關文章
相關標籤/搜索