Linux下用vsftp輕鬆搭建FTP服務器(修訂版)

前面描述了一個vsftpd在linux下的快速部署方法,儘管它能完成一般的上傳下載任務,但離實際的應用還是有差距,舉例來說:比如ftp用戶可以用cd命令到根目錄等,爲了更進一步滿足實際要求,特對前文做進一步的增補。

1、下載源碼到服務器,其下載地址是ftp://vsftpd.beasts.org/users/cevans/,當前的版本是vsftpd-2.0.6.tar.gz 。強烈建議使用源碼安裝,即可擺脫類似rpm包依賴的困惑,又可以實現在不同unix/linux下自如的工作。

2、解壓安裝:tar zxvf vsftpd-2.0.5.tar.gz ; make; make install

3、添加ftp的用戶,如果用戶數目不多,簡單些,用系統用戶吧。Useradd –d /home/sery sery ;passwd ******.

4、拷貝配置文件,這裏有2個。Cp vsftpd.conf /etc/vsftpd.conf ;cp Redhat/vsftpd.pam /etc/pam.d/ftp .不拷貝vsftpd.pam這個文件,將導致ftp用戶不能登陸的問題。這個文件在debian下也是可以的。

5、修改配置文件/etc/vsftpd.conf。這個配置文件是vsftpd的關鍵所在,修改下列值,以實現不同的功能:

(1)修改的部分:把 local_enable=yes write_enable=yes和local_umask=022前面的註釋取消。

(2)增加部分:listen=YES(ftp作爲獨立的守護進程)
chroot_local_user=yes(用戶被定位在自己的主目錄裏,用cd / 並不能切換到根目錄)

cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,
PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,
ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST(只許上傳文件和目錄,但不許刪除。注意:這些必須一行寫完)

6、啓動ftp服務。Vsftpd&
我安裝完成後,卻無法運行:

報錯如下:
500 00PS: could not bind listening IPv4 socket

端口有衝突。查看下:
#netstat -utl |grep 21 是不是被佔用

還真有耶。因爲是redhat9所以想到了xinetd

因爲xinetd已經啓動了vsftpd,而vsftpd設置成了stardalone模式,所以,先停止xinetd服務, service xinetd stop ,然後:/usr/local/sbin/vsftpd &

OK啓動正常。

改端口:
在vsftpd.conf最後加:
listen_port=2121

取消anonymous 登入 
anonymous_enable=NO

老大原文提到,讓用戶不能切換到別的目錄,需要添加一個文件:
vim /etc/vsftpd/chroot_list 加入你所要限制的用戶
vsftpd.conf也去掉相應的註釋:chroot_list_file=/etc/vsftpd/chroot_list


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章