天天看點

Ubuntu環境FTP伺服器vsftpd安裝及配置方法

首先,假設你已經在Ubuntu上安裝好了LAMP環境,實作了Apache多使用者的虛拟主機設定。那麼現在,你就應該考慮使用者資料的上傳問題了,一般這些使用者都會選擇用ftp上傳的方式來管理自己的web内容,這就需要我們再為他們開設FTP服務。最簡便的方法就是使用Ubuntu自帶的FTP伺服器是vsftpd。

一、安裝vsftpd

Ubuntu安裝軟體倒不是件困難的事,輸入:

apt-get install vsftpd

如果提示沒找到vsftp軟體包,

修改 gedit /etc/apt/sources.list  或vi /etc/apt/sources.list, 在最後加入

deb http://ftp.us.debian.org/debian stable main contrib non-free 

deb http://ftp.us.debian.org/debian-non-US stable/non-US main contrib non-free

deb http://ftp.us.debian.org/debian testing main contrib non-free

deb http://ftp.us.debian.org/debian-non-US testing/non-US main contrib non-free 

deb http://ftp.us.debian.org/debian unstable main contrib non-free

deb http://ftp.us.debian.org/debian-non-US unstable/non-US main contrib non-free

最後執行 apt-get update 更新軟體庫

安裝了之後會在/home/下建立一個ftp目錄。這時候你可以試着通路下ftp://IP位址。應該可以看到一個空白内容的ftp空間。

預設設定下匿名使用者可以下載下傳,但不能寫入或是上傳

二、設定 vsftpd.conf檔案

現在我們要讓匿名使用者無法通路,并且得輸入linux上的使用者密碼後才能通路到他們自己目錄裡的内容。

首先找到設定vsftpd的檔案,位置在/etc/vsftpd.conf,修改之前最好先備份下這個檔案:

cp /etc/vsftpd.conf /etc/vsftpd.conf.old

然後可以改動了,下面是一些vsftpd設定參數說明:

#不讓匿名使用者使用

#anonymous_enable=YES

#本地使用者可用

local_enable=YES

#可用寫操作

write_enable=YES

#不需要顯示某目錄下檔案資訊

#dirmessage_enable=YES

#加點banner提示

ftpd_banner=Hello~~

#FTP伺服器最大承載使用者

max_clients=100

接下來,你會遇到兩個問題:

1、輸入使用者名密碼後顯示的位置是在使用者的根目錄下,而我們的WEB内容是在public_html目錄裡。

2、使用者可以跳到任何其他目錄,造成了不利的檔案共享局面。

要解決這兩個問題,我們還是繼續修改vsftpd.conf檔案對vsftpd進行設定:

#啟動chroot清單(Change root)

chroot_list_enable=YES

#指定清單位置(我這用的是預設位址)

chroot_list_file=/etc/vsftpd.chroot_list

接下來我們得在vsftpd.chroot_list上寫進去我們要限制哪些使用者,不讓他們“漂移”。在有使用者redbots,是以隻要sudo nano一下,往裡面寫就行了。

這樣我們已經解決第2個問題了,登陸的使用者隻能在它的使用者檔案夾裡活動,下面我們要更狠一點,讓他隻能在public_html裡活動。依然還是修改vsftpd.conf檔案。

#這句預設設定裡是沒有的,自己加。

user_config_dir=/etc/自己定義一個設定個别使用者用的檔案夾位址

根據自己設定的位址,建立一個相應的檔案夾,然後往裡面建立和使用者名相同的檔案,nano一下:

#本地使用者的根位址,假設使用者是redbots。

local_root=/home/redbots/public_html

最後,重新開機下vsftpd服務,就可以看到效果了,指令如下:

    /etc/init.d/vsftpd restart

繼續閱讀