在 Ubuntu 下如何安裝 vsftpd FTP?

Joe_vv發表於2014-03-28

vsftpd 是一個對 UNIX 系統遵循 GPL 協議的 FTP 伺服器,包括 Linux。它安全而且速度非常快。

本教程將告訴你如何在 Linux 系統中搭建自己的 FTP 伺服器。

 

1. 安裝 vsftpd。

sudo apt-get install vsftpd


 

2. 替換配置檔案。

用文字編輯器開啟 vsftpd.conf 配置檔案,一般在 /etc 目錄下。

sudo joe /etc/vsftpd.conf


可以做如下修改:

anonymous_enable=YES

改成

anonymous_enable=NO

這將禁止使用者匿名訪問你的 FTP 伺服器,除非你有非常好的理由允許匿名訪問。而且在做網路安全方面,我建議不允許匿名訪問,尤其是你的 FTP 伺服器位於 Internet 上時。

當然,設定了禁止匿名訪問後,你需要允許本地使用者登入,修改如下:

#local_enable=YES

改成

local_enable=YES


 

3. 新增一個 “fake” shell 指令碼。

編輯 /etc/shells 檔案,並新增一個不存在的 shell 名稱如 /bin/false。這個假 shell 將會限制 FTP 使用者訪問系統。

sudo joe /etc/shells

 

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/false


/bin/false 是我們新增的一個不存在的 shell。就像紅帽子 Linux 系統上的一個特殊的裝置 /dev/null 一樣。

 

4. 建立一個 FTP 使用者賬戶。

在 Linux 系統上的不存在的 shell 上建立嚴格的 FTP 使用者賬戶是非常重要的。在這種方式下,如果因為任何原因有人能成功脫離 FTP 的 chroot 環境,他都不會有可能去執行任何使用者任務因為這個 shell 是不存在的。首先,建立新的使用者。

這個必須和沒有限制訪問的正常的使用者賬戶分開,因為 chroot 環境工作的方式。Chroot 是得它從使用者的角度出發,似乎你已經將它們防止在檔案系統的頂層一樣。

使用下面的命令在 /etc/passwd 檔案中建立使用者,在你每新增一個允許訪問你的 FTP 伺服器的新的使用者時都必須執行這一步。

sudo mkdir -p /home/ftp/ftpuser
sudo useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/false
sudo passwd ftpuser


 

- mkdir 命令將在 /home 目錄下建立 ftp/ftpuser 目錄來處理所有的 FTP 使用者。
- useradd 命令將在你的 Linux 伺服器上新增一個名為 ftpuser 新的使用者。
- 最後,passwd 命令將設定使用者 ftpuser 的密碼。

一旦你完成了這些,用下面的命令來重啟 vsftpd 服務:

sudo /etc/init.d/vsftpd restart

 

5. 在每個使用者的基礎上改寫使用者手冊中指定的配置項(可選)。

如果你想在每個使用者的基礎上改變 ftp 伺服器的行為習慣,你應用知道 vsftpd 有一個強大的選項,允許你這麼做。
如果你設定了 user_config_dir 為 /etc/vsftpd_user_conf 並且以 “chris” 使用者登入,那麼 vsftpd 在會話持續的時間內將會在 /etc/vsftpd_user_conf/chris 檔案中應用這些設定,檔案的格式詳見使用者手冊!
請注意,並非是所有的設定都會對每個使用者生效,例如,許多設定只對之前的已經啟動的使用者會話生效。這些不會影響每個使用者的任何行為的設定,包括 listen_address, banner_file, max_per_ip, max_clients, xferlog_file 等。

 

參考:

http://cviorel.easyblog.ro/2009/03/05/how-to-setup-vsftpd-ftp-on-ubuntu-linux/

英文水平捉急,翻譯的不好,如有不妥的地方,希望大家能提出來。謝謝


 


博主所有文章已轉自私人部落格 Joe 的個人部落格,謝謝關注!

相關文章