LINUX下如何開啟FTP伺服器
1.安裝vsftpd伺服器
vsftpd是目前Linux最好的FTP伺服器工具之一,其中的vs就是“Very Secure”(很安全)的縮寫,可見它的最大優點就是安全,除此之外,它還具有體積小,可定製強,效率高的優點。
如果選擇完全安裝Red Hat Linux 9.0,則系統會預設安裝vsftpd伺服器。我們可以在終端命令視窗輸入以下命令進行驗證:
[[email protected] root] rpm -qagrep vsftpd
如果結果顯示為“vsftpd-1.1.3-8”,則說明系統已經安裝vsftpd伺服器。如果安裝Red Hat Linux 9.0時沒有選擇vsftpd伺服器,則可以在圖形環境下單擊“主選單→系統設定→新增刪除應用程式”選單項,在出現的“軟體包管理”對話方塊裡確保選中 “FTP伺服器”選項,然後單擊“更新”按鈕,按照螢幕提示插入第3張安裝光碟即可開始安裝。
另外,你也可以直接插入第3張安裝光碟,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安裝包,然後在終端命令視窗執行以下命令即可開始安裝程序:
[
2.啟動/重新啟動/停止vsftpd服務
從Red Hat Linux 9.0開始,vsftpd預設只採用standalone方式啟動vsftpd服務,方法是在終端命令視窗執行以下命令:
[[email protected] root] /etc/rc.d/init.d/vsftpd start
重新啟動vsftpd服務:
[[email protected] root] /etc/rc.d/init.d/ vsftpd restart
關閉vsftpd服務:
[
確認vsftpd服務已經啟動後,我們可以在任意一臺Windows主機的DOS命令窗口裡輸入“ftp FTPAddres”(用實際的FTP伺服器IP地址或者域名代替FTPAddres),注意使用者名稱、密碼都是ftp(ftp是匿名使用者的對映使用者賬號),如下所述:
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
F:/Peter>ftp FTPAddress
Connected to FTPAddress
220 (vsFTPd 1.1.3)//vsftpd的響應請求
User (FTPAddress:(none)): ftp//輸入使用者賬號ftp
331 Please specify the password.
Password://輸入密碼ftp
230 Login successful. Have fun.
ftp>
3.vsftpd的配置
在Red Hat Linux 9.0裡的vsftpd共有3個配置檔案,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些使用者賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該檔案裡的使用者賬戶在預設情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置檔案裡啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文字檔案,我們可以用Kate、Vi等文字編輯工具對它進行修改,以此來自定義使用者登入控制、使用者許可權控制、超時設定、伺服器功能選項、伺服器效能選項、伺服器響應訊息等FTP伺服器的配置。
(1)使用者登入控制
anonymous_enable=YES,允許匿名使用者登入。
no_anon_password=YES,匿名使用者登入時不需要輸入密碼。
local_enable=YES,允許本地使用者登入。
deny_email_enable=YES,可以建立一個檔案儲存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單儲存路徑(預設為/etc/vsftpd.banned_emails)。
(2)使用者許可權控制
write_enable=YES,開啟全域性上傳許可權。
local_umask=022,本地使用者的上傳檔案的umask設為022(系統預設是077,一般都可以改為022)。
anon_upload_enable=YES(這步的配置很重要不然會發現不能通過FTP軟體向LINUX上傳檔案,能下載)允許匿名使用者具有上傳許可權,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp使用者可以讀寫的目錄(前面說過,ftp是匿名使用者的對映使用者賬號)。
anon_mkdir_write_enable=YES,允許匿名使用者有建立目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳檔案的屬主使用者將改為別的使用者賬戶,注意,這裡建議不要指定root賬號為匿名上傳檔案的屬主使用者!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主使用者賬號,此處的whoever自然要用合適的使用者賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地使用者只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的使用者是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的儲存路徑(預設是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全使用者賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立使用者。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,預設情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
注意:啟用ascii_download_enable選項會讓惡意遠端使用者們在ASCⅡ模式下用SIZE/big/file這樣的指令大量消耗FTP伺服器的I/O資源。
這些ASCⅡ模式的設定選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳指令碼等惡意檔案而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)使用者連線和超時選項
idle_session_timeout=600,可以設定預設的空閒超時時間,使用者超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定預設的資料連線超時時間。
(4)伺服器日誌和歡迎資訊
dirmessage_enable=YES,允許為目錄配置顯示資訊,顯示每個目錄下面的message_file檔案的內容。
ftpd_banner=Welcome to blah FTP service,可以自定義FTP使用者登入到伺服器所看到的歡迎資訊。