實現了Apache多使用者的虛擬機器主機設定,那麼一般這些使用者都會選擇用ftp上傳的方式來管理自己的web內容,這就需要我們再為他們開設FTP服務。
Ubuntu內建的FTP伺服器是vsftpd,好文推薦裡也轉了兩篇這方面的內容,本人通過實踐再奉獻一篇,呵呵
1)安裝vsftpd
Ubuntu安裝軟體倒不是件困難的事,輸入:
sudo apt-get install vsftpd
可能會提示你使用光碟片,放進去再按斷行符號就行了。
安裝了之後會在/home/下建立一個ftp目錄。這時候你可以試著訪問下ftp://IP地址。應該可以看到一個空白內容的ftp空間。
預設設定下匿名使用者可以下載,但不能寫入或是上傳
2)設定 vsftpd.conf檔案
現在我們要讓匿名使用者無法訪問,並且得輸入linux上的使用者密碼後才能訪問到他們自己目錄裡的內容。
首先找到設定vsftpd的檔案,位置在/etc/vsftpd.conf
修改之前最好先備份下這個檔案:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
然後可以改動了:
#不讓匿名使用者使用#anonymous_enable=YES#本機使用者可用local_enable=YES #可用寫操作write_enable=YES#不需要顯示某目錄下檔案資訊#dirmessage_enable=YES #加點banner提示ftpd_banner=Hello~~ #FTP伺服器最大承載使用者max_clients=100#限制每個IP的進程max_per_ip=5#最大傳輸速率(b/s)local_max_rate=256000#隱藏帳號hide_ids=YES
好了,重啟下ftp 伺服器看看效果
重啟後還是和原來一樣對嗎?呵呵,這是預設的ftp目錄在做鬼,我們把它刪除,再看看。怎麼樣?要你輸入使用者名稱和密碼了吧。
新的問題
1.輸入使用者名稱密碼後顯示的位置是在使用者的根目錄下,而我們的WEB內容是在public_html目錄裡
2.使用者可以跳到任何其他目錄(非常危險..)
要解決這些問題我們還得設定下vsftpd.conf
#啟動chroot列表(Change root)chroot_list_enable=YES#指定列表位置(我這用的是預設地址)chroot_list_file=/etc/vsftpd.chroot_list
接下來我們得在vsftpd.chroot_list上寫進去我們要限制哪些使用者,不讓他們“漂移”..
現在有使用者linyupark,所以只要sudo nano一下,往裡面寫就行了
這樣我們已經解決第2個問題了,登陸的使用者只能在它的使用者檔案夾裡活動,下面我們要更狠一點,讓他只能在public_html裡活動
依然還是找vsftpd.conf
#這句預設設定裡是沒有的,自己加user_config_dir=/etc/自己定義一個設定個別使用者用的檔案夾地址
根據自己設定的地址,建立一個相應的檔案夾,然後往裡面建立和使用者名稱相同的檔案,nano一下:
#本機使用者的根地址,假設使用者是linyuparklocal_root=/home/linyupark/public_html
好咯,重啟下伺服器。看看效果吧^_^