實現了Apache多用戶的虛擬主機設置,那麼一般這些用戶都會選擇用ftp上傳的方式來管理自己的web內容,這就需要我們再為他
們開設FTP服務。
Ubuntu自帶的FTP服務器是vsftpd.
1、安裝vsftpd
Ubuntu安裝軟件倒不是件困難的事,輸入:
sudo apt-get install vsftpd
如果沒換源可能會提示你使用光盤,放進去再按回車就行了。
我用CN99的源,速度是300K每秒,夠快吧。
安裝了之後會在/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
新的問題
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一下:
#本地用戶的根地址,假設用戶是linyupark
local_root=/home/linyupark/public_html
重啟下服務器。