首页 > 代码库 > linux下vsftp服务器的搭建

linux下vsftp服务器的搭建

vsftp是very secure ftp 的缩写。分为主动模式和被动模式两种,端口又分为命令端口(21)和数据端口。

在主动模式下:1.客户端先打开一个大于1024的随机端口X与ftp服务器的21端口建立命令通道。

       2.客户端有数据传输需求时再次开启大于1024的随机端口Y并通过命令通道告知ftp服务器

       3.ftp服务器通过tcp的3次握手主动连接客户端的端口Y

在被动模式下:1.客户端先打开一个大于1024的随机端口X与ftp服务器的21端口建立命令通道。

         2.客户端有数据传输需求时,通过命令通道发送请求。

       3.服务器接受到请求后,开启一个大于1024的随机端口Y,并告知客户端

         4.客户端收到通知后,会开启大于1024的随机端口X,然后跟服务器端口Y建立连接。

实验开始:

目的:同时满足匿名用户和实名用户的访问,并且都能“上传”,“删除”,“重命名”的操作。

vsftpd.conf配置:

anonymous_enable=YESanon_root=/var/ftp/pub/local_enable=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES

先测试实名用户:

useradd -s /sbin/nologin ftp1

echo ftp1 |passwd ftp1 --stdin

touch /home/ftp1/helloworld.txt

重点在测试匿名用户,花费了很多时间。

总结下来就是不能直接给anon_root目录777权限,必须在此目录下建立一个新目录,再赋予ftp用户对这个目录的rwx权限

比如:

mkdir /var/ftp/pub/anon

chmod 777 /var/ftp/pub/anon //other的权限必须要7

chwon ftp. /var/ftp/pub/anon 这一步没必要

也就是说,虽然匿名用户建立的文件的user和group都是ftp,但是你执行chown ftp.和chmod 770是没用的,必须要others有权限。这点很诡异。。。

 

linux下vsftp服务器的搭建