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=YES
anon_root=/var/ftp/pub/
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_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有权限。这点很诡异。。。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。