用Linux構建高效FTP伺服器 3

2021-09-24 10:21:41 字數 2001 閱讀 1804

# ps -ef|grep ftp

root 12972 1356 0 13:44 pts/1 00:00:00 ftp 127.0.0.1 2121

nobody 12973 12908 0 13:44 ? 00:00:00 [vsftpd]

ylg 12975 12973 0 13:44 ? 00:00:00 [vsftpd]

user1 13013 13011 0 13:46 ? 00:00:00 [vsftpd]

root 13041 13015 0 13:47 pts/4 00:00:00 grep ftp

到現在為止,乙個基本可以滿足普通使用需求的ftp伺服器就已經架設完成。

在實際應用中,有時為了增加安全性,會將ftp伺服器置於防火牆之後。如本文開頭所述,被動傳輸模式適合於帶有防火牆的情況。下面就來建立乙個防火牆後的ftp伺服器,該伺服器ftp埠為2121,資料傳輸埠為2020。

執行以下兩行指令,只允許2121和2020埠開啟,其餘埠關閉:

#iptables -a input -p tcp -m multiport --dport 2121,2020 -j accept

#iptables -a input -p tcp -j reject --reject-with tcp-reset

修改/etc/vsftpd/vsftpd.conf檔案,在文字最後新增以下兩行:

listen_port=2121

ftp_data_port=2020

重新啟動vsftpd:

#service vsftpd restart

#service vsftpd restart

假設提供168.192.2.1和210.31.8.1到210.31.8.254的連線,則可對/etc/hosts.allow進行如下設定:

vsftpd : 168.192.2.1 210.31.8. : allow

all : all : deny

配置虛擬使用者ftp

上面配置的ftp伺服器有乙個特點,就是ftp伺服器的使用者本身也是系統使用者。這顯然是乙個安全隱患,因為這些使用者不僅能夠訪問ftp,也能夠訪問其它的系統資源。如何解決這個問題呢?答案就是建立乙個虛擬使用者的ftp伺服器。虛擬使用者的特點是只能訪問伺服器為其提供的ftp服務,而不能訪問系統的其它資源。所以,如果想讓使用者對ftp伺服器站內具有寫許可權,但又不允許訪問系統其它資源,可以使用虛擬使用者來提高系統的安全性。

在vsftp中,認證這些虛擬使用者使用的是單獨的口令庫檔案(pam_userdb),由可插入認證模組(pam)認證。使用這種方式更加安全,並且配置更加靈活。

下面介紹配置過程。

1.生成虛擬使用者口令庫檔案。為了建立此口令庫檔案,先要生成乙個文字檔案。該檔案的格式如下,單數行為使用者名稱,偶數行為口令:

#vi account.txt

ylg1234

zhanghong

4321

gou5678

2.生成口令庫檔案,並修改其許可權:

#db_load -t -t hash -f 。/account.txt /etc/vsftpd/account.db

#chmod 600 /etc/vsftpd/account.db

3.新建乙個虛擬使用者的pam檔案。加上如下兩行內容:

#vi /etc/pam.d/vsftp.vu

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

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

4.建立虛擬使用者,設定該使用者所要訪問的目錄,並設定虛擬使用者訪問的許可權:

#useradd -d /ftpsite virtual_user

#chmod 700 /ftpsite

經過該步驟的設定,/ftpsite就是virtual_user使用者的主目錄,該使用者也是/ftpsite目錄的擁有者。除root使用者之外,只有該使用者具有對該目錄的讀、寫和執行的許可權。

Linux下用vsftpd構建FTP伺服器

以rhel 5.4 x86 為例 1 從安裝盤中找到安裝檔案 vsftpd 2.0.5 16.el5.i386.rpm,root使用者下執行 rpm ivh vsftpd 2.0.5 16.el5.i386.rpm 2 配置vsftpd 建立無登陸許可權的新使用者 useradd gftp s sb...

linux上構建ftp伺服器

可以參考這篇博文。進入 etc vsftpd目錄下,有以下幾個配置檔案 1 ftpusers 黑名單配置檔案,這個裡面的使用者不允許訪問ftp伺服器 2 user list 白名單配置檔案,允許訪問ftp伺服器的使用者列表 3 vsftpd.conf ftp核心配置檔案 vsftpd.conf配置檔...

構建FTP伺服器

ftp是file transfer protocol 檔案傳輸協議 的英文簡稱,而中文簡稱為 文傳協議 用於internet上的控制檔案的雙向傳輸。本文以ubuntu為例來安裝及配置ftp sudo apt get install vsftpd 複製 sudo vi etc vsftpd.conf ...