> 文章列表 > Linux中的ftp服务-----vsftpd

Linux中的ftp服务-----vsftpd

Linux中的ftp服务-----vsftpd

  1. ftp的两种模式
  2. vsftpd  服务

1.ftp的两种模式

1.1ftp主动模式

ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输

21端口建立连接
20端口传输数据

1.2ftp被动模式

ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据

2.vsftpd  服务

2.1vsftp的部署,并使用匿名访问

服务器端:

# yum install -y vsftpd

# systemctl start vsftpd

默认情况匿名访问是开启的状态

修改vsftp配置文件:

anon_other_write_enable=YES        #使得匿名用户能有写的权限
anon_umask=000                  #匿名用户上传下载目录权限掩码

客户端:

# yum -y install lftp #安装客户端

# lftp 192.168.246.160

lftp 192.168.246.160:/> cd pub/

lftp 192.168.246.160:/pub> get test.txt   #下载

lftp 192.168.246.160:/pub> mkdir dir  #也可以创建目录

lftp 192.168.246.160:/pub> mirror -R /test/  #上传目录以及目录中的子文件

mirror         下载目录;mirror -R           上传目录

2.2使用用户名访问

服务器端操作:

# useradd zhangsan 

# echo '123456' | passwd --stdin  zhangsan                  #设置密码

# vim /etc/vsftpd/vsftpd.conf                  ---添加注释并修改 

anonymous_enable=NO           #将允许匿名登录关闭
#anon_umask=022                #匿名用户所上传文件的权限掩码 
#anon_upload_enable=YES        #允许匿名用户上传文件
#anon_mkdir_write_enable=YES   #允许匿名用户创建目录
#anon_other_write_enable=YES    #是否允许匿名用户有其他写入权(改名,删除,覆盖)
新添加
local_root=/home/zhangsan       # 设置本地用户的FTP根目录,一般为用户的家目录
local_max_rate=0                # 限制最大传输速率(字节/秒)0为无限制

# systemctl restart vsftpd

客户端操作:

# lftp 192.168.153.137 -u zhangsan

2.3 注意事项及小命令

关于vsftpd服务器的并发及带宽限制,主要用到以下配置参数:
max_clients:限制并发的客户端个数
max_per_ip:限制每个客户机IP的并发连接数
anon_max_rate:匿名最大速度(字节/秒)
local_max_rate:验证用户最大速率(字节/秒)

写入大文件的小命令:

dd         if=/dev/zero        of=/root/test.txt        ds=1M        count=100

可以使用wget访问ftp:

# wget ftp://test:test@192.168.26.199:/test.txt