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(只许上传文件和目录,但不许删除。注意:这些必须一行写完)