Ubuntu下搭建FTP服務器 -开发者知识库

Ubuntu下搭建FTP服務器 -开发者知识库,第1张

我裝的服務器系統是Ubuntu 12.04 LTS,FTP軟件當然是選擇大名鼎鼎的vsftpd(very secure FTP daemon), 用系統自帶的FTP還好Ubuntu裝vsftpd還是很簡單,一句命令就行:

sudo apt-get install vsftpd

命令執行過程中,安裝程序會給本地創建一個名為“ftp”的用戶組,命令執行完之后會自動啟動FTP服務。

可以使用“netstat -tl”命令檢查FTP端口有沒有已經打開,或者直接在瀏覽器里輸入“ftp://你的服務器IP”(新安裝的vsftpd默認是可以匿名不需要密碼直接訪問),如果能直接連接到FTP服務器,則安裝vsftpd算是大功告成。

開啟、停止、重啟vsftpd服務也很簡單:

service vsftpd start | stop | restart

新安裝的vsftpd默認是可以匿名訪問,如果只想給某一個用戶專門訪問某一目錄下的權限,則需要修改vsftpd的配置了。

首先,創建一個專門用來訪問的用戶,例如叫“ftptest”:

groupadd ftptest
useradd ftptest -g ftptest -d /home/ftptest -s /sbin/nologin

設置密碼:

passwd ftptest

修改vsftpd的配置文件“vi /etc/vsftpd.conf”:

#禁止匿名訪問
anonymous_enable=NO
#接受本地用戶
local_enable=YES
#可以上傳
write_enable=YES
#當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

在/etc/vsftpd.chroot_list添加可切換到其他目錄的用戶(可選):

echo "ftptest" >> /etc/vsftpd.chroot_list

安裝過程中遇到的一些問題:

“530 Login incorrect”

在 /etc/shells 最后一行添加“/sbin/nologin”

“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”

啟用了chroot的話,根目錄要設置為不可寫

chmod a-w /home/ftptest

之后我們在這個目錄創建一個子文件夾data用來存放我們的數據,並將data目錄的所有者改為ftptest :

mkdir /home/ftptest/data
chown ftptest:ftptest /home/ftptest/data/

OK,重啟vsftpd之后就可以使用上面新創建的賬號訪問:)

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复