Ubuntu 用vsftpd 配置FTP服務器

 

網上的文章好難懂啊。。只想要簡單粗暴,弄好能用就行啊,複雜的之後研究不行嗎。。。折騰很久,其實弄出來能用不就這麼點內容嗎。。。shell

本文在Ubuntu Server 14.04 amd64系統測試。瀏覽器

Made By:CSGrandeuride

安裝ftp測試

sudo apt-get install vsftpd

配置vsftpd.confui

sudo nano /etc/vsftpd.conf

複製代碼

#禁止匿名訪問
anonymous_enable=NO
#接受本地用戶
local_enable=YES
#容許上傳
write_enable=YES
#用戶只能訪問限制的目錄
chroot_local_user=YES
#設置固定目錄,在結尾添加。若是不添加這一行,各用戶對應本身的目錄,固然這個文件夾本身建
local_root=/home/ftp

複製代碼

看網上說加一行「pam_service_name=vsftpd」,我看我這個配置文件原本就有,就無論了。spa

添加ftp用戶.net

sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser

調整文件夾權限rest

這個是避免「500 OOPS: vsftpd: refusing to run with writable root inside chroot()」blog

sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data

這樣登陸以後會看到data文件夾,雖然稍麻煩,緣由不表了。。查資料這麼辛酸已經不易。。get

改pam.d/vsftpd

這時候直接用useradd的賬號登陸ftp會530 login incorrect

sudo nano /etc/pam.d/vsftpd

註釋掉 

#auth    required pam_shells.so

重啓vsftpd

sudo service vsftpd restart

這時就能夠用剛纔建的ftpuser這個用戶登陸ftp了,看到的是local_root設置的/home/ftp,而且限制在該目錄。

能夠在瀏覽器用ftp://xxx.xxx.xxx.xxx訪問,也能夠用ftp軟件好比flashFXP,密碼就是ftpuser的密碼。

關於用戶訪問文件夾限制

由chroot_local_user、chroot_list_enable、chroot_list_file這三個文件控制,轉別人的一段話:

首先,chroot_list_enable好理解,就是:是否啓用chroot_list_file配置的文件,若是爲YES表示chroot_list_file配置的文件生效,不然不生效;
第二,chroot_list_file也簡單,配置了一個文件路徑,默認是/etc/vsftpd.chroot_list,該文件中會填入一些帳戶名稱。可是這些帳戶的意義不是固定的,是跟配置項chroot_local_user有關的。後一條中說明;
第三,chroot_local_user爲YES表示全部用戶都*不能*切換到主目錄以外其餘目錄,可是!除了chroot_list_file配置的文件列出的用戶。chroot_local_user爲NO表示全部用戶都*能*切換到主目錄以外其餘目錄,可是!除了chroot_list_file配置的文件列出的用戶。也能夠理解爲,chroot_list_file列出的「例外狀況」的用戶。

 若是客戶端登陸時候提示「以pasv模式鏈接失敗」

編輯/etc/vsftpd.conf

最後添加

pasv_promiscuous=YES

而後再重啓vsftpd服務。

相關文章
相關標籤/搜索