用vsftp快速搭建ftp服务器(修订版)
前面描述了一个vsftpd在linux下的快速部署方法,尽管它能完成一般的上传下载任务,但离实际的应用还是有差距,举例来说:比如ftp用户可以用cd命令到根目录等,为了更进一步满足实际要求,特对前文做进一步的增补。
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