asc码转换 linux_Linux网络服务04——FTP文件传输服务
Linux网络服务04——FTP文件传输服务
一、FTP连接及传输模式
1、控制连接:TCP 21,用于发送FTP命令信息
2、数据连接:TCP 20,用于上传、下载数据
3、数据连接的建立类型:
(1)主动模式:服务器主动发起数据连接
首先由客户端向服务端的21端口建立FTP控制连接。当需要传输数据时,客户端以PORT命令告知服务器“我打开了某端口,你过来连接我”,预算服务器从20端口向客户端的该端口发送请求并建立数据连接。
(2)被动模式:服务器被动等待数据连接
如果客户端所在网络的防火墙禁止主动模式连接,通常会使用被动模式。
首先由客户端想服务器的21端口建立FTP控制连接。当需要传输数据时,服务器以PASV命令告知客户端“我打开了某端口,你过来连接我”,于是客户端向服务器的该端口(非20)发送请求并建立数据连接。
4、传输模式
在传输文件时,根据是否进行字符转换,分为文本模式和二进制模式。
(1)文本模式:又称ASCII(American Standard Code for Information Interchange)美国信息交换标准码模式,这种模式在传输文件时使用ASCII标准字符序列,一般只用于纯文本文件的传输。
(2)二进制模式:又称Binary模式,这种模式不会转换文件中的字符序列,更适合传输程序、图片等非纯文本字符的文件。
使用二进制模式比文本模式更有效率,大多数FTP客户端工具可以根据文件类型自动选择文件传输模式。
二、FTP用户类型
1、匿名用户:用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器的验证。一般用于公共文件的下载,如提供一些免费的软件、学习资料下载的站点。
2、本地用户:直接使用本地的系统用户账号进行验证。
3、虚拟用户:通过一份独立的用户数据库文件进行登录验证,将FTP账户与Linux系统账户的关联性将至最低,为系统提供更好的安全性。
三、FTP服务器软件的种类
1、Windows系统:FileZilla Server、Serv-U等
2、Linux/Unix系统:vsftpd(Very Secure FTP Daemon)
四、FTP客户端工具的种类
1、Windows系统:ftp命令、CuteFTP、FlashFXP、LeapFTP、Filezilla等。还有一些下载工具软件,如FlashGet、Wget等,但不具备上传功能,通常不称为FTP客户端工具。
2、Linux/Unix系统:ftp命令
五、搭建匿名访问的FTP服务
1、安装FTP服务软件
2、准备匿名FTP访问的目录
3、开放匿名用户配置并启动vsftpd服务
4、测试匿名FTP服务器
在客户端安装FTP客户端
测试小结:匿名用户具有新建目录、上传文件、删除文件的权限,新建目录默认权限755,上传文件默认权限644。
六、搭建本地用户验证的FTP服务
1、创建本地用户
2、修改配置文件,重启FTP服务。
客户端测试
测试小结:本地用户具有新建目录、上传文件的权限,新建目录默认权限700,上传文件默认权限600。
3、ftpusers与user_list用户列表的使用
(1)ftpusers文件:FTP服务器中的黑名单,优先级高于user_list文件
(2)user_list文件:此用户列表默认情况下也是黑名单,即在此用户列表中的用户不可访问FTP服务器,但可以通过vsftpd.conf主配置文件的修改将此名单改为白名单,且仅此名单中的用户可以访问。
(3)示例:
1>将test1用户放入ftpusers文件中,其他配置文件不修改,尝试用test1用户登录
客户端测试
2>将test1移除出ftpusers文件,将test2放入user_list用户列表中,先用默认的配 置文件,在客户端尝试用test2访问FTP服务器。在修改配置文件,将user_list改为白 名单,再在客户端分别用test1、test2尝试访问。
客户端测试
服务器修改主配置文件,重启服务
[root@www vsftpd]# vim vsftpd.conf
客户端再次测试
测试小结:配置文件中默认user_list用户列表为黑名单即默认为userlist_deny=YES,当增加userlist_deny=NO时,user_list用户列表为白名单,此时仅此名单内用户可访问FTP服务器。
七、搭建虚拟用户验证的FTP服务
1、建立虚拟用户账号数据库
vsftpd服务使用Berkeley DB格式的数据库文件来存放虚拟用户账号,使用db_load工具生成数据库文件。(若未安装,安装包在安装光盘1中,软件名为db4-utils)
注:db_load命令
-T:允许非Berkeley的程序使用该数据库
-t:指定算法 (hash:哈希,散列)
-f:指定源文件
注意:生成的数据库文件必须为“.db”格式
2、添加虚拟映射账号,为FTP根目录修改权限
3、增加PAM认证
4、修改vsftpd.conf配置文件,重启服务
5、客户端测试
6、实现每个虚拟用户不同根目录、不同权限的管控
(1)创建用户控制目录,并创建虚拟所对应的同名配置文件
修改zhangsan的配置文件,使其可以上传、建立目录、删除文件、重命名文件、最大传输速率1字节/秒、根目录为/var/zhangsan
修改lisi的配置文件,使其仅可以下载上传,不开放其他权限,不限制传输速率,根目录为/var/lisi
wangwu的配置文件不做修改,其权限为配置文件中的默认权限,根目录为/var/ftproot,仅可以下载,无法上传。
(2)修改vsftpd.conf主配置文件,重启服务
[root@www vsftpd]# vim vsftpd.conf
(3)客户端测试
验证zhangsan
验证lisi
验证wangwu
【课外知识】建立vsftpd服务的日志文件。
其他配置:
listen=YES
listen_address=192.168.1.108
listen_port=2121 //设置监听端口
pasv_enable=YES //是否开启被动模式
pasv_min_port=24500 //被动模式端口下限
pasv_max_port=24600 //被动模式端口上限
max_clients=2000 //最大15000,最大客户连接数,一般不限制
max_per_ip=2 //每个ip限制最多打开几个客户端工具,一般不限制
anon_max_rate=50000 //匿名最大传输速率,一般不限制
local_max_rate=20000 //本地用户最大传输速率,一般不限制
asc码转换 linux_Linux网络服务04——FTP文件传输服务相关推荐
- Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统
Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...
- 详解“FTP文件传输服务”安装配置实例
"FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsft ...
- Linux 网络服务之FTP 文件传输
Linux FTP 文件传输 --王宇然qq:496488051 实验一:配置匿名上传FTP 1.软件包安装: [root@localhost ~]# cd /misc/cd/Server ...
- 网络编程之FTP文件传输协议
FTP文件传输协议: 一.简述: 1.TCP/IP协议簇,应用层协议,采用服务端与客户端通信方式共享文件. 2.FTP根目录:/ (如路径: /hello/) 3.现在的FTP一 ...
- asc码转换 linux_Linux终端下将图片转换ASCII Art代码图案
有时你可能需要终端输出许多图片,那么现在就让我们在Linux终端打开一个新窗口显示图片. cacaview - Linux终端下将图片转换ASCII Art代码图案的命令. Ubuntu下安装命令: ...
- python ftp文件传输服务端
from socket import * import os,sys import signal,time host=" port=8888 Addr=(host,port) class F ...
- LinuxFTP文件传输服务和DNS域名解析服务
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易, ...
- 网络协议从入门到底层原理(10)WebSocket、WebService、RESTful、HTTPDNS、FTP文件传输协议、邮件相关协议、IPv6
其他协议 WebSocket WebSocket - 建立连接 WebService RESTful HTTPDNS FTP文件传输协议 邮件相关的协议(SMTP.POP.IMAP) POP vs I ...
- CUBEMX配置STM32实现FTP文件传输以及使用SNTP获取网络时间并写入RTC
CUBEMX配置STM32实现FTP文件传输以及使用SNTP获取网络时间并写入RTC 引言 FTP代码库的移植 Cubemx配置SNTP以及RTC RTC配置方法 SNTP配置方法 FATFS载入RT ...
最新文章
- UCOSIIIAPI函数接口OSTaskCreate();函数
- pyinstaller使用方法及案例
- 2008年12月答疑贴
- java final内存机制_Java中的内存处理机制和final、static、final static总结
- 登录界面转换实现html,html5和css3登录注册表单界面切换动画
- 无惧海量并发,运维准点下班全靠它
- android 多线程类,Android 多线程处理之多线程用法大集合
- SnapKit 源码解读(一):Extensions
- 13G311-1 混凝土结构加固构造 免费下载
- 算法设计与分析课设-探寻宝藏-双线程DP问题-C语言
- python idle背景设置为黑色_python IDLE颜色设置
- JS实现仿新浪微博大厅和腾讯微博首页滚动效果_前端开发
- RAM、 ROM 、SRAM 、DRAM 、SDRAM 、DDR (2、3、4)SDRAM辨析
- struct 结构体的内存对齐
- ORACLE表格操作图文教学二(分组去重、计数、加减、多表)
- 计算机二级黑板板书书写,清华老师的板书惊艳朋友圈 8个技巧让黑板亮起来
- jdk11中使用JavaFx
- html5自动收回键盘,如何监听移动端软键盘的弹出和收回?
- HTTPS那些事 用java实现HTTPS工作原理
- Vue背景图片打包上线后出错问题解决
热门文章
- Java 14 有哪些新特性?
- 神龙 X-Dragon,这技术“范儿”如何?| 问底中国 IT 技术演进
- 为什么说即便是新手,也应该学习微服务?
- 如何快速优化 Linux 内核 UDP 收包效率? | CSDN 博文精选
- Mac 被曝存在恶意漏洞:黑客可随意调动摄像头,波及四百万用户!
- 安防无战事:一场 10213 亿元的误会
- 程序员如何从技术上“开挂”魔卡手游? | 技术头条
- 小米“祭出” AIoT 神器!| 技术头条
- 6岁会编程,14岁就被麻省理工录取,神童谎言是如何诞生的?
- 网络编程之 字节序和深入理解bind()函数