Ubuntu上FTP服務器程序vsftpd安裝配置全流程攻略

安裝ftp
sudo apt-get install vsftpd
配置vsftpd.conf
sudo nano /etc/vsftpd.conf
#禁止匿名訪問
anonymous_enable=NO
#接受本地用戶
local_enable=YES
#允許上傳
write_enable=YES
#用戶只能訪問限制的目錄
chroot_local_user=YES
#設(shè)置固定目錄,在結(jié)尾添加。如果不添加這一行,各用戶對應自己的目錄,當然這個文件夾自己建
local_root=/home/ftp
看網(wǎng)上說加一行“pam_service_name=vsftpd”,我看我這個配置文件本來就有,就不管了。
添加ftp用戶
sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser
調(diào)整文件夾權(quán)限
這個是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data
這樣登錄之后會看到data文件夾,雖然稍麻煩,原因不表了。。查資料這么辛酸已經(jīng)不易。。
改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設(shè)置的/home/ftp,并且限制在該目錄。
可以在瀏覽器用ftp://xxx.xxx.xxx.xxx訪問,也可以用ftp軟件比如flashFXP,密碼就是ftpuser的密碼。
關(guān)于用戶訪問文件夾限制
由chroot_local_user、chroot_list_enable、chroot_list_file這三個文件控制,轉(zhuǎn)別人的一段話:
首先,chroot_list_enable好理解,就是:是否啟用chroot_list_file配置的文件,如果為YES表示chroot_list_file配置的文件生效,否則不生效;
第二,chroot_list_file也簡單,配置了一個文件路徑,默認是/etc/vsftpd.chroot_list,該文件中會填入一些賬戶名稱。但是這些賬戶的意義不是固定的,是跟配置項chroot_local_user有關(guān)的。后一條中說明;
第三,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服務。
vsftpd 530 Permission denied錯誤與530 Login incorrect
在linux上搭建完ftp服務器后,用戶登錄vsftpd出現(xiàn)530 Login incorrect錯誤與530 Permission denied錯誤。 530 Permission denied 原因是/etc/vsftpd/vsftpd.conf里userlist_enable=YES /etc/vsftpd/user_list含有root名單
2種解決辦法:
1.userlist_enable=NO 將root從user_list中去掉
530 Login incorrect錯誤 將root從/etc/vsftpdftpusers中去掉。
2.如果是默認安裝vsftpd的話,以下是一些文件的位置約定:
/usr/sbin/vsftpd ---- VSFTPD的主程序 /etc/rc.d/init.d/vsftpd ---- 啟動腳本 /etc/vsftpd/vsftpd.conf ---- 主配置文件 /etc/pam.d/vsftpd ---- PAM認證文件 /etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用戶列表文件 /etc/vsftpd.user_list ---- 禁止或允許使用VSFTPD的用戶列表文件 /var/ftp ---- 匿名用戶主目錄 /var/ftp/pub ---- 匿名用戶的下載目錄
如果要更改默認下載目錄,修改/etc/vsftpd/vsftpd.conf,加入如下三行: local_root=/ chroot_local_user=YES anon_root=/ local_root表示使用本地用戶登錄到ftp時的默認目錄 anon_root表示匿名用戶登錄到ftp時的默認目錄 上面的chroot_list_file是設(shè)定鎖定登陸用戶在其home目錄的列表,要在chroot_list_enable=YES情況下才生效。 另外,如luo_rc所述,最好不要設(shè)置默認目錄為/,使用建議使用mount --bind來掛載需要的目錄。
相關(guān)文章
linux系統(tǒng)配置vsftpd服務后啟動失敗該怎么辦?
linux系統(tǒng)配置vsftpd服務后啟動失敗該怎么辦?在linux系統(tǒng)中安裝了vsftpd服務,在啟動的時候發(fā)現(xiàn)其中失敗,原始是ftp端口21被占用,該怎么辦呢?下面分享這個問題的解決辦2016-01-05- Ubuntu 14.04怎使用vsftpd搭建FTP服務?有時候,我們需要把遠程Ubuntu 14.04服務器上的文件下載到本地,后者上傳遠程服務器,這就需要搭建ftp服務,具體怎么搭建呢?請看下2015-11-13
- 這篇文章主要介紹了在Ubuntu下配置ProFTPD和VSFTPD的教程,Ubuntu自帶的FTP服務器一般為vspfd,需要的朋友可以參考下2015-10-13
linux下vsFTPd提示530 Login incorrect錯誤的原因
在測試Checkpoint的VPN1 R6x的時候,遇到了這個錯誤。這說明client端跟server端的連接性是沒問題。但是就是想不出為什么,還以為是用戶名和口令錯誤呢2014-06-26- 當我們配置好一臺Linux服務器的web服務后,需要上傳網(wǎng)站程序來驗證服務器是否正常運行,這就需要ftp支持,本篇文章就為大家講解,Linux系統(tǒng)下安裝ftp服務器的詳細步驟2014-06-26
- 這篇文章主要介紹了Ubuntu Linux上安裝SSH和vsFTPd的方法,需要的朋友可以參考下2014-06-26
- 這篇文章主要介紹了linux安裝vsftpd和vsftpd配置步驟,需要的朋友可以參考下2014-04-17
- 本文主要介紹了vsftpd本地用戶登錄密碼錯誤的解決方法,大家參考使用吧2014-02-21
- ubuntu vsftpd匿名用戶上傳下載的配置方法,需要的朋友可以參考下2012-10-13
- RHEL4中的vsftpd在編譯時已經(jīng)支持tcp_wrappers,因此可以利用tcp_wrappers實現(xiàn)主機訪問控制。 實驗之前,首先說下tcp-wrappers的執(zhí)行順序: 先執(zhí)行hosts.allow,如果hosts2009-03-10