1. 程式人生 > >FTP 伺服器(四)之實戰搭建

FTP 伺服器(四)之實戰搭建

參考部落格:

一. 專案需求及前期準備

FTP 伺服器 IP 地址為 10.6.3.43,其他客戶端可以通過匿名方式

  • 上傳檔案
  • 下載檔案
  • 刪除目錄
  • 建立目錄
  • 登陸無需密碼

當然這樣做的好處就是極大的方便,缺點就是不安全!但是因為在內部使用,也就不在意這些了。

二. FTP 搭建

在 10.6.3.43 的主機上,以 root 身份編輯 FTP 配置檔案

2.1 編輯 vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

清除原來的配置檔案內容,新增如下

# 允許匿名使用者(ftp或anonymous)登入
anonymous_enable=YES

# 匿名登入時,系統不會檢驗密碼
no_anon_password=YES # 資料流聯機的 timeout 為 60 秒 data_connection_timeout=60 # 匿名者發呆超過 10 分鐘就斷線 idle_session_timeout=600 # FTP上本地的檔案許可權,drwxr-xr-x anon_umask=022 # 本地使用者寫的許可權 write_enable=yes # 匿名帳號可以有刪除的許可權 anon_other_write_enable=yes # 建立目錄的同時可以在此目錄中上傳檔案 anon_mkdir_write_enable=YES # 匿名使用者瀏覽許可權 anon_world_readable_only=NO # 匿名使用者上傳許可權
anon_upload_enable=yes # 不允許使用本地使用者來登陸ftp local_enable=NO # 使用本地時間 use_localtime=YES # 設定這個專案來讓 vsftpd 尋找該檔案來顯示訊息 dirmessage_enable=YES # 使用者上傳與下載檔案都會被紀錄起來。記錄的檔案與下一個設定專案有關 xferlog_enable=YES # 支援主動式聯機功能 connect_from_port_20=YES # 支援 WuFTP 的登入檔格式 xferlog_std_format=YES # 使用 stand alone 方式啟動 vsftpd
listen=YES # 支援 PAM 模組的管理 pam_service_name=vsftpd # 支援 TCP Wrappers 的防火牆機制 tcp_wrappers=YES # 使用者連線後歡迎資訊使用的是此檔案 banner_file=/etc/vsftpd/anon_welcome.txt

2.2 編輯 banner_file 檔案

如果沒在 vsftpd.conf 中設定 banner_file 引數的話,則無需編輯該檔案,此檔案主要就是在使用者登入 ftp 時,螢幕顯示的歡迎語。
在 /etc/vsftpd 下新建 anon_welcome.txt 檔案,並新增內容:

vim /etc/vsftpd/anon_welcome.txt
# 新增如下內容
 Welcome to BigData's ftp

2.3 建立匿名下載目錄

因為匿名登入時是以 ftp 為使用者名稱進行登入的,因為匿名使用者的 ftp 根目錄為 /var/ftp,匿名使用者登入時會被 chroot 到該根目錄下,且該根目錄的許可權為 drwxr-xr-x ,所以匿名使用者並沒有在 /var/ftp 的目錄下建立檔案的許可權。

如果將 /var/ftp 的許可權設定最大行不行?答案是否定的。 vsftpd 出於安全考慮對 /home/ftp 是不允許沒有限制的,否則會出現如下錯誤:

500 OOPS: vsftpd: refusing to run with writable anonymous root

我們可以在 /etc/vsftpd 下建立一個 upload 的目錄,專門用於存放匿名使用者上傳的檔案及新建立的目錄。

cd /var/ftp
mkdir upload 
chown ftp:ftp upload

三. 啟動 FTP 服務

以 root 身份執行以下命令:

/etc/init.d/vsftpd restart

或者

service vsftpd restart

這裡寫圖片描述

檢驗 ftp 服務是否已經啟動了:

service vsftpd status

vsftpd (pid 7906) is running…