Linux网络服务——FTP服务器搭建
FTP服务器
- FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。
- FTP是用来在两台计算机之间传输文件,它可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。
FTP主动模式
主动模式是FTP的默认模式,也称为PORT模式
- 在主动模式下,客户端会开启N和N+1两个端口,N为客户端的命令端口,N+1为客户端的数据端口
- 第一步,客户端使用端口N连接FTP服务器的命令端口21,建立控制连接并告诉服务器我这边开启了数据端口N+1。
- 第二步,在控制连接建立成功后,服务器会使用数据端口20,主动连接客户端的N+1端口以建立数据连接。这就是FTP主动模式的连接过程。
- 在这条红色的数据连接建立的过程中,服务器是主动的连接客户端的,所以称这种模式为主动模式。
主动模式利弊
- 主动模式对FTP服务器的管理有利,因为FTP服务器只需要开启21端口的“准入”和20端口的“准出”即可
- 但这种模式对客户端的管理不利,因为FTP服务器20端口连接客户端的数据端口时,有可能被客户端的防火墙拦截掉
FTP被动模式
FTP主动模式,简单的理解就是服务器的数据端口20主动连接客户端的数据端口,来建立数据连接,用来传输数据,这个数据连接的建立有可能被客户端防火墙拦截掉。为了解决这个问题就衍生出另外一种连接模式---被动模式。被动模式也称为passive模式。
- 第一步,客户端的命令端口N主动连接服务器命令端口21,并发送PASV命令,告诉服务器用“被动模式”,控制连接建立成功后,服务器开启一个数据端口P,通过PORT命令将P端口告诉客户端。
- 第二步,客户端的数据端口N+1去连接服务器的数据端口P,建立数据连接。
- 在这条红色的数据连接建立的过程中,服务器是被动的等待客户端来连接的,所以称这种模式为被动模式。
被动模式利弊
- 被动模式对FTP客户端的管理有利,因为客户端的命令端口和数据端口都是“准出”,windows防火墙对于“准出”一般是不拦截的,所以客户端不需要任何多余的配置就可以连接FTP服务器了。
- 但对服务器端的管理不利。因为客户端数据端口连到FTP服务器的数据端口P时,很有可能被服务器端的防火墙阻塞掉。
一、实验目的
- 搭建FTP服务器
- 与客户端共享文件
二、实验环境
- Linux主机作为FTP服务器,ip地址:192.168.100.20
三、实验过程(如下)
第一步:FTP Server配置
一、使用yum安装方式
[root@pakho ~]# yum -y install vsftpd #安装
二、准备需要分享的文件
[root@pakho ~]# cp hosts.sh /var/ftp/ #复制桌面文件hosts到/var/ftp下
[root@pakho ~]# ls /var/ftp/ #查看
hosts.sh pub #pub为公共文件 public hosts.sh为准备分享的文件
注:FTP服务器的主目录:"/var/ftp/" ,是FTP程序分享的本机目录
三、启动FTP服务
[root@pakho ~]# systemctl start vsftpd #启动FTP服务
[root@pakho ~]# systemctl enable vsftpd #也可以设置为开机自启动
使用命令查看21号端口是否开启
20号端口没开是因为没开始传输数据
四、关闭防火墙!!!
[root@pakho ~]# systemctl stop firewalld #立刻停止防火墙
[root@pakho ~]# systemctl enable firewalld #开启关闭防火墙
[root@pakho ~]# setenforce 0 #关闭selinux
[root@pakho ~]# vim /etc/selinux/config #通过配置文件永久关闭selinux
第二步:FTP 客户端配置、测试
一、LinuxFTP客户端程序 lftp测试
- 打开一台新的虚拟机当客户机安装客户端
第一步:安装客户端工具
[root@611 ~]# yum -y install lftp #lftp轻量级ftp工具
第二步:访问服务器
- 首先作为客户端访问的服务器没有hosts这个文件
[root@611 ~]# ls #查看
inodetest.sh john-1.9.0.tar.gz
- 访问FTP服务器进行文件操作
[root@611 ~]# lftp 192.168.100.20 #访问FTP服务器的IP地址
lftp 192.168.100.20:~> ls #查看文件夹里的文件
-rw-r--r-- 1 0 0 321 May 10 20:00 hosts.sh
drwxr-xr-x 2 0 0 6 Oct 13 2020 pub
lftp 192.168.100.20:/> get hosts.sh #下载文件使用get
321 bytes transferred #提示321个字节已经传输完成
lftp 192.168.100.20:/> mirror pub #下载目录使用mirror mirror:镜像
Total: 1 directory, 0 files, 0 symlinks #提示1个文件夹已经传输完成 0个文件 0个链接
lftp 192.168.100.20:/> exit #完成后退出
注:访问FTP服务器的地址必须是准确地址否则访问错误的地址也提示访问成功
二、LinuxFTP客户端程序 wget测试
- 先清除环境将刚才下载的文件删除为本次测试准备
一切操作在客户端上执行
[root@611 ~]# rm -rf hosts.sh
[root@611 ~]# rm -rf pub/
- 下载文件
[root@611 ~]# wget ftp://192.168.100.20/hosts.sh #使用wget下载文件名必须输全否则无法下载
- 下载过程
三、windows客户端测试
- 将文件拖至桌面打开也能看到内容说明搭建ftp服务器成功
默认仅能下载文件
第三步 FTP优化:启用身份验证功能、上传下载功能
配置文件的操作
[root@pakho ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup #备份
[root@pakho ~]# vim /etc/vsftpd/vsftpd.conf #进入ftp主配置文件
一、检查禁用匿名账户登录开启
目的:启用/禁用匿名账户(默认,比较方便)
anonymous_enable=YES/NO #是否允许匿名用户开启或者关闭
二、配置上传指令
#anon_upload_enable=YES #匿名用户启动上传文件的权限默认关闭
#anon_mkdir_write_enable=YES #匿名用户启动创建目录的权限默认关闭
因为做实验的关系将其打开测试
设置完必须重启ftp服务
[root@pakho ~]# systemctl restart vsftpd #重启ftp
三、创建上传的目录
[root@pakho ~]# mkdir /var/ftp/upload #准备一个文件夹 upload:上传
[root@pakho ~]# chmod 777 /var/ftp/upload/ #给文件夹提权 给可写权限就行
查看是否提权成功
四、客户端测试
换一台虚拟机!
[root@611 ~]# echo ftptest > ftptest.txt #创建一个需要上传的文件
[root@611 ~]# lftp 192.168.100.20 #进入ftp服务器
lftp 192.168.100.20:~> cd upload/ #进入upload上传文件夹
lftp 192.168.100.20:/upload> put ftptest.txt #上传文件ftptest.txt
8 bytes transferred #提示上传成功
lftp 192.168.100.20:/upload> mkdir mltest #创建文件夹
mkdir ok, `mltest' created #文件夹mltest创建成功
lftp 192.168.100.20:/upload> exit #退出客户端
完成后进入服务器检查
Linux网络服务——FTP服务器搭建相关推荐
- Linux网络实战- FTP服务器搭建
FTP服务器是互联网上提供文件存储和访问访问的计算机,它们依照FTP协议提供服务,FTP是(文件传输协议).顾名思义,就是专门用来传输文件的协议,简单来说,支持FTP协议的服务器就是FTP服务器. v ...
- Linux网络实战——Samba服务器搭建
Linux网络实战--Samba服务器搭建 安装Samba服务软件 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Message ...
- Linux实验整理——FTP服务器搭建
三.实验内容 1.使用NAT方式,连接网络. 2.使用FTP命令 172.17.60.253,练习put .get. mput. mget. lcd. ls. cd等命令 3.配置FTP服务器,要求实 ...
- 云服务ftp服务器搭建_在阿里云服务器搭建FTP服务器,在本地电脑连接并操作
首先你需要有一个阿里云的ECS服务器 并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~) 开通了宽带之后,ECS服务器就可以上网了 如果嫌弃阿 ...
- 云服务ftp服务器搭建_如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作...
首先你需要有一个阿里云的ECS服务器 并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~) 开通了宽带之后,ECS服务器就可以上网了 如果嫌弃阿 ...
- 【Linux网络服务】Centos7搭建yum服务器
yum服务器概述 yum软件仓库通常借助HTTP或FTP来进行发布,这样可以面向网络中的所有客户机提供软件源服务.为了便于客户机查询软件包,在软件仓库中需要提供仓库数据,其中手机了目录下所有rpm包的 ...
- linux下java写ftp服务器端,在Linux下部署网站(java环境部署)第五章 FTP服务器搭建...
第五章 FTP服务器搭建 1.看看是否已经安装FTP服务器 service vsftpd start ftp localhost 如果不认识ftp命令是因为没有安装ftp的client包,需要拿安装光 ...
- Linux(centos7.4)上FTP服务器搭建(使用yum)
Linux(centos7.4)上FTP服务器搭建(使用yum) 安装步骤 1.安装 $ yum -y install vsftpd 2.备份配置 cp /etc/vsftpd/vsftpd.conf ...
- Linux网络服务_邮件服务器-Redhat Enterprise 5.9
Linux网络服务_邮件服务器-Redhat Enterprise 5.9 案例环境: 邮件服务器:mail.tarena.com192.168.1.100 邮件域:@tarena.com 邮件账号: ...
最新文章
- 机器人流程自动化崛起,中国是否准备好迎接智能自动化时代?
- Mysql性能优化二
- 如何将oracle数据库中的表结构导入到sqlserver中,Oracle转换成SqlServer数据库的步骤...
- 【Python五篇慢慢弹】数据结构看python
- java 创建定时器_SpringBoot创建定时任务
- RandomShuffleQueue '_1_input/shuffle_batch/random_shuffle_queue' is closed and has insufficient elem
- android https详解,如何使用HTTPS和HTTP来解析Android中的JSON数据?
- Elasticsearch-head插件的安装与使用
- [常用知识]如何在Eclipse、myEclipse中分别配置Tomcat和JBoss应用服务器
- 360影视php采集接口,基于360影视采集实例
- OpenCV保存H264视频的问题
- GitHub中文社区
- libcef-编译运行模式-MTD/MT-MDD/MD
- 开发撞墙之奇怪的需求:经纬度带符号转换
- MNN Interpreter and Session
- 第一次写,好不容易,最基本的C++题目
- HI3516DV300笔记(四)修改uboot环境变量
- python【第七篇】网络编程
- 解决Partially written block xxx being set for retirement(dm365)
- SFM之通过exif获取初始焦距