Linux企业级服务之FTP文件传输协议基础

一、FTP原理简述
1.传输方式:ascii传输模式和二进制数据传输模式。
2.双通道协议:命令和数据连接
3.ftp支持的两种模式:相对于ftp服务端来说,分为主动(Active)模式和被动(PASV)模式。
主动模式:服务器主动连接
                 命令(控制):客户端:随机port —> 服务器:21/tcp
                  数据:客户端:随机port <—服务器:20/tcp
被动模式:客户端主动连接
                  命令(控制):客户端:随机port —> 服务器:21/tcp
                  数据:客户端:随机port —> 服务器:随机port /tcp
如图所示:
在这里插入图片描述二、vsftpd服务常见配置/etc/vsftpd/vsftpd.conf

#1.命令端口
listen_port=2121 #默认值为21

#2.主动模式端口
connect_from_port_20=YES #主动模式端口为20
ftp_data_port=20 #(默认)指定主动模式的端口

#3.被动模式端口范围
pasv_min_port=5000  #0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=5010

#4.使用当地时间(默认为NO,使用GMT)
use_localtime=YES

#5.匿名用户登录
anonymous_enable=NO #支持匿名用户,CentOS8默认不允许匿名
no_anon_password=YES #匿名用户略过口令检查 , 默认NO

#6.匿名用户上传
anon_upload_enable=YES #匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES #匿名建目录
#/var/ftp/pub赋权限 setfacl -m u:ftp:rwx /var/ftp/pub
anon_world_readable_only=NO #只能下载全部读的文件, 默认YES
anon_umask=0333 #指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
anon_other_write_enable=YES #可删除和修改上传的文件,默认NO

#7.指定匿名用户的上传文件的默认的所有者和权限
chown_uploads=YES     #默认NO
chown_username=ammon
chown_upload_mode=0644

#8.Linux系统用户
local_enable=YES  #是否允许linux用户登录
write_enable=YES  #允许linux用户上传文件
local_umask=022  #指定系统用户上传文件的默认权限对应umask

#9.将所有系统用户映射为指定的guest用户
guest_enable=YES #所有系统用户都映射成guest用户
guest_username=ftp #配合上面选项才生效,指定guest用户
local_root=/ftproot #指定guest用户登录所在目录,但不影响匿名用户的登录目录
user_config_dir=/etc/vsftpd/conf.d/ #每个用户独立的配置文件目录

#10.禁锢系统用户
chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢

#11.日志
xferlog_enable=YES #启用记录上传下载日志,此为默认值
xferlog_std_format=YES #使用wu-ftp日志格式,此为默认值
xferlog_file=/var/log/xferlog #可自动生成, 此为默认值

#12. 提示信息
#登录前提示信息
ftpd_banner="welcome to mage ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt 
#目录访问提示信息
dirmessage_enable=YES #此为默认值
message_file=.message #信息存放在指定目录下.message ,此为默认值,只支持单行说明

#13.PAM模块实现用户访问控制
pam_service_name=vsftpd
#pam配置文件:/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers #默认文件中用户拒绝登录,默认是黑名单,但也可以是白名单

#14.是否启用控制用户登录的列表文件
userlist_enable=YES  #此为默认值
userlist_deny=YES  #(默认值) 黑名单,不提示口令,NO为白名单
userlist_file=/etc/vsftpd/user_list #此为默认值

#15.连接数限制
max_clients=0 #最大并发连接数
max_per_ip=0 #每个IP同时发起的最大连接数

#16.传输速率,单位:字节/秒
anon_max_rate=0 #匿名用户的最大传输速率,以字节为单位,比如:1024000表示1MB/s
local_max_rate=0 #本地用户的最大传输速率

#17.连接时间:秒为单位
connect_timeout=60 #主动模式数据连接超时时长
accept_timeout=60 #被动模式数据连接超时时长
data_connection_timeout=300 #数据连接无数据输超时时长
idle_session_timeout=60 #无命令操作超时时长

#18.以文本方式传输
ascii_upload_enable=YES
ascii_download_enable=YES

在学习中进步,如有错误,请多多批评指正

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeAmmon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值