Linux中的ftp服务-----vsftpd
- ftp的两种模式
- 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