FTP文件传输与vsftpd配置

news/2024/11/29 18:38:54/

一 存储类型

直连式存储DAS

适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

存储区域网络SAN

用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

网络附加存储NAS

适用于大型应用或数据库系统,缺点是成本高、较为复杂

二 FTP工作原理

文件传输协议

是典应用层协议,  c/s架构

20数据端口          用于建立数据连接,并传输文本数据

21命令端口          建立控制连接,并传输FTP控制命令

2 数据传输格式:二进制   文本

3 双通道协议:命令与数据的连接

从服务器角度

主动模式:服务器主动开启20端口连接客户端传输真实数据

被动摸式:服务器随机开启端口等待客户端连接,客户机通过21命令来获取 服务端的随机端口

数据给客户端

被动(PASV style):服务器被动等待客户端连接

FTP服务状态码

服务器数据端口为:

用户认证:

  • 匿名用户:ftp,anonymous,对应Linux用户ftp root,两种协议

  • 一般提供公共文件的下载,如免费文件,学习资料,百度网盘

  • 系统用户:  Linux用户,用户/etc/passwd,密码/etc/shadow

  • 虚拟用户:   特定服务的专用用户,独立的用户/密码文件

常见 FTP 相关软件

vsftpd:

ftp.redhat.com数据

Wu-ftpd

vsftpd 软件介绍

用户认证配置文件: /etc/pam.d/vsftpd

配置文件或子目录: /etc/vsftpd

                             :/usr/sbin/vsftpd

                             :/var/log/vsftpd.log

用户和其共享目录

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp

  • 系统用户共享文件位置:用户家目录

  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

安装服务端

客户端连接服务端

vsftpd服务常见配置

修改默认命令端口

服务端:修改 默认命令端口号

客户端:连接时需要指明 端口号

[root@localhost ~]#vim  /etc/vsftpd/vsftpd.conf

                              listen_port=2121                      #默认值为21

[root@localhost ~]#systemctl restart vsftpd

                             #ss   -ntl                     #查看端口

主动模式端口


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                              connect_from_port_20=YES                  #主动模式端口为20
                               ftp_data_port=20                                    #指定主动模式的端口,默认为20
[root@localhost ~]#systemctl restart vsftpd
 

被动模式端口

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                              pasv_min_port=6000    
                              pasv_max_port=6010
[root@localhost ~]#systemctl restart vsftpd 

   #0为随机分配,规定端口范围会影响客户端的并发数

使用当地时间

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

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

                              [root@localhost ~]#systemctl restart vsftpd

匿名用户登录


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                               anonymous_enable=YES                           #支持匿名用户,
                               no_anon_password=YES                           #匿名用户略过口令检查 , 默认NO
[root@localhost ~]#systemctl restart vsftpd 

匿名用户上传

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

                             anon_upload_enable=YES 匿名上传,注意:文件系统权限
                             anon_mkdir_write_enable=YES 匿名建目录

还需要开启文件系统访问的权限,不能给FTP根目录写权限否则报如下错误

匿名用户 下载 删除文件

指定匿名用户的上传文件的默认的所有者是ftp用户,这是可以修改的

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES                                           #默认NO
chown_username=mcb                                       #匿名用户的上传文件的默认的所有者用户
chown_upload_mode=0644                                #指定上传文件的权限
[root@localhost ~]#systemctl restart vsftpd  

 
Linux 系统用户

系统用户登录:使用普通用户登录默认是在 系统用户的 家目录

将所有系统用户映射为指定的guest用户

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


guest_enable=YES                                #所有系统用户都映射成guest用户
guest_username=ftp                              #配合上面选项才生效,指定guest用户
#local_root=/ftproot                                 #注释此行,默认所有用户都在ftp用户的家目录
user_config_dir=/etc/vsftpd/conf.d/         #每个用户独立的配置文件目录,可自由指定


[root@localhost ~]#systemctl restart vsftpd 
 

禁锢系统用户


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO                           #默认YES
[root@localhost ~]#systemctl restart vsftpd 
 

禁锢所有系统用户在家目录中


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
guest_enable=YES                                           #所有系统用户都映射成guest用户
guest_username=ftp                                        #配合上面选项才生效,指定guest用户
#local_root=/ftproot                                          #注释此行,默认所有用户都在ftp用户的家目录
user_config_dir=/etc/vsftpd/conf.d/                  #每个用户独立的配置文件目录,可自由指定
[root@localhost ~]#systemctl restart vsftpd  


禁锢用户开启白名单和黑名单

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES                                      #默认是NO
chroot_list_file=/etc/vsftpd/chroot_list                  #默认值
 
当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单,只允许名单里的用户登录
当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单,只有文件里的用户禁锢
[root@localhost ~]#systemctl restart vsftpd  
 

ftp 默认启动日志

#wu-ftp 日志:默认启用

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


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


[root@localhost ~]#systemctl restart vsftpd 
 

#vsftpd日志:默认不启用


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


dual_log_enable=YES                    #使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log    #可自动生成, 此为默认值


[root@localhost ~]#systemctl restart vsftpd 
 

提示信息


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


ftpd_banner="welcome to mcb ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt  


[root@localhost ~]#systemctl restart vsftpd 
 

传输速率,单位:字节/秒      百度网盘限速就是这样玩


[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf


anon_max_rate=1024000               #1024000表示1MB/(数字随时改)
local_max_rate=102400


[root@localhost ~]#systemctl restart vsftpd 

pam模块实现用户访问

在内网环境ftp下,搭建本地yum仓库

①服务端搭建本地yum仓库,并下载vsftp软件

服务端IP  192.168.11.9

 

 

客户端搭建yum仓库下载vsftpd软件与ftp协议

客户端192.168.11.5   搭建仓库

 教训

在内网环境下http搭建yum仓库

 服务端IP192.168.11.9

指令小金刚

1 [root@localhost ~]#sort --help
   sort  -t

   sort   -n

2 [root@localhost ~]#cut --help
用法:cut [选项]... [文件]...
  cut  -d  使用指定分界符代替制表符作为区域分界

3 [root@localhost ~]#seq --help
  seq  -s

4 [root@localhost ~]#tr --help   转换   压缩    删除

5 [root@localhost ~]#uniq  --help


http://www.ppmy.cn/news/1325075.html

相关文章

STL之deque 【双端队列】

这里写目录标题 STL之deque 【双端队列】头文件:创建deque添加元素删除元素:修改元素:访问元素:遍历队列deque综合示例: STL之deque 【双端队列】 deque:双端队列是 C 标准库中的一种容器,它允许高效地从两端添加和删除元素。deq…

【前后端的那些事】15min快速实现图片上传,预览功能(ElementPlus+Springboot)

文章目录 Element Plus SpringBoot实现图片上传,预览,删除效果展示 1. 后端代码1.1 controller1.2 service 2. 前端代码2.1 路由创建2.2 api接口2.2 文件创建 3. 前端上传组件封装 前言:最近写项目,发现了一些很有意思的功能&…

噪声的产生机制和来源

噪声广泛存,噪声按照噪声携带能量的强弱分为功率型噪声和信号型噪声,功率型噪声持续时间短,能量强,对设备的寿命具有很大的影响,而信号型噪声顾名思义来源于信号且作用于信号,本节简述噪声的产生机理和来源…

系分备考计算机网络传输介质、通信方式和交换方式

文章目录 1、概述2、传输介质3、网络通信4、网络交换5、总结 1、概述 计算机网路是系统分析师考试的常考知识点,本篇主要记录了知识点:网络传输介质、网络通信和数据交换方式等。 2、传输介质 网络的传输最常见的就是网线,也就是双绞线&…

canvas绘制不同样式的六角星(示例源代码)

查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

国产阿里的Copilot能提效30%吗?

国产阿里的Copilot能提效30%吗? Copilot简介 GitHub 和 OpenAI 共同打造的一款编程神器–Copilot, 这是一款立足于人工智能技术的编程助手。在此基础上,借助于 GitHub 庞大的代码库和来自全球的开源社区帮助,搭配 OpenAI 在自然…

【经典算法】有趣的算法之---粒子群算法梳理

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 粒子群算法 粒子群算法(Particle Swarm Optimization,PSO)是一种用于解决优化问题的元启发式算法。它通过模拟鸟群或…

RabbitMQ 部署与配置[CentOS7]

# RabbitMQ,Erlang 版本包对应 https://rabbitmq.com/which-erlang.html#eol-seriescd /usr/local/src# Erlang下载 # https://github.com/rabbitmq/erlang-rpm/releases https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.5/erlang-23.3.4.5-1.el7.x86_64.rp…