阶段1--Linux中的文件服务器(FTP、NAS、SSH)

目录

一、FTP Server

1.1.简介

1.2.FTP基础

1.2.1.控制端口

1.2.2.数据端口

1.3.FTP Server默认配置

1.3.1.安装vsftp

1.3.2.准备分发的文件

1.3.3.启动服务

1.3.4.关闭防火墙

1.4.FTP Client(默认仅能下载文件)

1.4.1.LinuxFTP客户端程序1:lftp

1)安装客户端工具

2)访问服务器

3)查看并下载

1.4.2.LinuxFTP客户端程序2:wget

1.4.3.启动上传功能

配置文件简介

1)检查禁用匿名账户登录开启

2)配置上传指令

3)创建上传目录

4)客户端测试

5)系统用户的配置

匿名开放模式

本地用户模式

虚拟用户模式

6)其他系统客户机的访问

二、NFS Server

2.1.名词解释

2.1.1.案例环境

2.2.NAS(存储端)(关闭防火墙)

2.2.1.安装NFS服务器

2.2.2.配置NFS服务器

2.2.3.启动NFS服务器

2.3.web1客户端(关闭防火墙)

2.3.1.安装NFS客户端

2.3.2.查看存储端共享

2.3.3. 手动挂载

2.3.4.查看挂载

2.3.5.使用web客户端查看web服务器

2.4.测试网站访问

三、SSH SERVER

3.1.简介

3.2.SSH 服务器实战

1、登录CentOS

2、查询SSH是否安装

3、SSH服务管理

4、使用SSH远程管理

5、免密登录


一、FTP Server

1.1.简介

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中应用层的协议之一,作用是提供文件共享服务。

互联网上大多数的媒体资源和软件资源。都是通过FTP服务器传递的。

软件包:vsftpd

1.2.FTP基础

1.2.1.控制端口

        控制端口(command)21/tcp

1.2.2.数据端口

        数据端口(data) 20/tcpf

1.3.FTP Server默认配置

1.3.1.安装vsftp

yum install -y vsftpd

1.3.2.准备分发的文件

touch /var/ftp/test_ftp.txt

注意:FTP服务器的主目录:“/var/ftp/",是FTP程序分享内容的本机目录。

1.3.3.启动服务

# systemctl start vsftpd

# systemctl enable vsftpd

查看:netstat -anpt

1.3.4.关闭防火墙

# systemctl stop firewalld

# systemctl disable firewalld

# setenforce 0

        vim /etc/selinux/config

        修改内容为:SELINUX = disabled

1.4.FTP Client(默认仅能下载文件)

任何系统的firefox,IE。

        1.客户机打开浏览器

        2.输入“ftp://服务器IP地址”

        默认仅能下载文件,无法上传文件。

1.4.1.LinuxFTP客户端程序1:lftp

1)安装客户端工具

        yum -y install lftp

这里安装如果出问题,检查一下yum源。腾讯云可以用。

[root@hadooptest yum.repos.d]# cat CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#[os]
name=Qcloud centos os - $basearch
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[updates]
name=Qcloud centos updates - $basearch
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[centosplus]
name=Qcloud centosplus - $basearch
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/centosplus/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[cr]
name=Qcloud centos cr - $basearch
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/cr/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[extras]
name=Qcloud centos extras - $basearch
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7[fasttrack]
name=Qcloud centos fasttrack - $basearch
baseurl=http://mirrors.cloud.tencent.com/centos/$releasever/fasttrack/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://mirrors.cloud.tencent.com/centos/RPM-GPG-KEY-CentOS-7
[root@hadooptest yum.repos.d]#

2)访问服务器

        lftp 服务器的IP地址

3)查看并下载

[root@hadooptest yum.repos.d]# lftp 192.168.75.147
lftp 192.168.75.147:~> ls
-rw-r--r--    1 0        0              25 Jul 21 21:15 ftp_test.txt
drwxr-xr-x    2 0        0               6 May 11  2016 pub

# 下载文件

lftp 192.168.75.147:/> get ftp_test.txt
25 bytes transferred
lftp 192.168.75.147:/> get pub/
get: Access failed: 550 Failed to open file. (pub/)
lftp 192.168.75.147:/> get pub

# 下载目录

lftp 192.168.75.147:/> mirror pub
Total: 1 directory, 0 files, 0 symlinks
lftp 192.168.75.147:/>

1.4.2.LinuxFTP客户端程序2:wget

检查是否安装wget

[root@hadooptest ftp_test]# wget ftp://192.168.75.147/ftp_test.txt
--2025-07-21 21:52:08--  ftp://192.168.75.147/ftp_test.txt
           => “ftp_test.txt”
正在连接 192.168.75.147:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。    ==> PWD ... 完成。
==> TYPE I ... 完成。  ==> 不需要 CWD。
==> SIZE ftp_test.txt ... 25
==> PASV ... 完成。    ==> RETR ftp_test.txt ... 完成。
长度:25 (非正式数据)

100%[=================================================================================================================>] 25          --.-K/s   in 0s

2025-07-21 21:52:08 (6.31 MB/s) - “ftp_test.txt” 已保存 [25]

-O 指定文件名和路径。

[root@hadooptest ftp_test]# wget ftp://192.168.75.147/ftp_test.txt -O /tmp/ftp.sh
--2025-07-21 21:53:04--  ftp://192.168.75.147/ftp_test.txt
           => “/tmp/ftp.sh”
正在连接 192.168.75.147:21... 已连接。
正在以 anonymous 登录 ... 登录成功!
==> SYST ... 完成。    ==> PWD ... 完成。
==> TYPE I ... 完成。  ==> 不需要 CWD。
==> SIZE ftp_test.txt ... 25
==> PASV ... 完成。    ==> RETR ftp_test.txt ... 完成。
长度:25 (非正式数据)

100%[=================================================================================================================>] 25          --.-K/s   in 0s

2025-07-21 21:53:04 (4.73 MB/s) - “/tmp/ftp.sh” 已保存 [25]

[root@hadooptest ftp_test]# cat /tmp/ftp.sh
hello world
this is ftp`

[root@hadooptest ftp_test]# wget http://nginx.org/download/nginx-1.10.2.tar.gz

1.4.3.启动上传功能

配置文件简介

用于设定FTP服务器功能开启或关闭的文件

# vim /etc/vsftpd/vsftpd.conf

1)检查禁用匿名账户登录开启

目的:启用/禁用匿名账号

anonymous:匿名的;不具名的;不知姓名的;没有特色的;名字不公开的

anonymous_enable=YES

//是否允许匿名用户登录ftp

2)配置上传指令

启动上传文件的能力

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES

# 允许匿名用户进行文件上传
anon_upload_enable=YES

# 启动创建目录的能力
anon_mkdir_write_enable=YES

# 如果设置为YES,则允许匿名用户执行除上载和创建目录之外的写入操作,例如删除和重命名。通常不建议这样做,但包括完整性。
anon_other_write_enable=YES

# 默认权限掩码
anon_umask=022

# 匿名用户主目录
anon_root=/var/ftp

# 匿名用户访问速率
anon_max_rate=0

重启ftp程序

systemctl restart vsftpd

3)创建上传目录

注意:上传文件时,一定要来这个目录。

mkdir /var/ftp/upload

chmod 777 /var/ftp/upload

4)客户端测试

新建一个测试文件

LINUX系统访问登录FTP

lftp 192.168.75.147

上传文件 anonymous_user.txt

进入之后

cd upload

put anonymous_test.txt

注意:这里报Access failed,说明当前upload目录并没有权限,所以我们需要给文件目录赋权。并且还需要将SELinux置为0

上传文件:

使用lftp给FTP上传目录

创建目录

上传目录

# 下载远程目录到本地(默认)
mirror [远程目录] [本地目录]  

# 上传本地目录到远程(-R反向同步)
mirror -R [本地目录] [远程目录]

5)系统用户的配置

匿名用户的访问,用户之间是没有限制的。可以共同访问资源。系统用户访问就很好的根据用户权限。区分了访问的资源。

匿名开放模式

匿名开放模式是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。这种模式一般用来访问不重要的公开文件。

本地用户模式

本地用户模式是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来相对简单。但是如果被黑客破解了账户的信息,就可以畅通无阻地登录FTP服
务器,从而完全控制整台服务器。

虚拟用户模式

虚拟用户模式是这三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出用来进行口令验证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,
仅供FTP服务程序进行认证使用。这样,即使黑客破解了账户信息也无法登录服务器,从而有效降低了破坏范围和影响。

使用本地用户模式

# 禁止匿名访问模式

anonymous_enable=NO

# 是否允许本地用户登录 FTP

local_enable=[YES|NO]

# 是否开放本地用户的其他写入权限

write_enable=[YES|NO]

# 本地用户上传文件的 umask 值

local_umask=022

6)其他系统客户机的访问

二、NFS Server

2.1.名词解释

NFS:Network File System 网络文件系统,Linux/Unix系统之间共享文件的一种协议,NFS 的客户端主要为Linux支持多节点同时挂载,以及并发写入。

作用:提供文件共享服务,为 Web Server 配置集群中的后端存储

2.1.1.案例环境

nas 192.168.142.133

NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。

web1 192.168.75.210

关闭防火墙
#vi /etc/selinux/config

SELINUX=disabled
# setenforce 0
# systemctl stop firewalld
# systemctl disable firewalld

2.2.NAS(存储端)(关闭防火墙)

Network Attached Storage:网络附属存储,NFS是NAS的一种

2.2.1.安装NFS服务器

这里测试了腾讯的yum源可以安装nfs软件,所以换一下源。

# yum -y install nfs-utils


# mkdir /root/webdata
存储网站代码,放置一个测试页面。

2.2.2.配置NFS服务器

/etc/exports文件包含NFS服务器上可供NFS客户端访问的本地物理文件系统表的内容文件由服务器的系统管理员维护。

# vim /etc/exports
/webdata 192.168.75.0/24(rw)
注释
/webdata指的是发布资源的目录
192.168.75.0/24允许访问NFS的客户机
(rw)可读可写

2.2.3.启动NFS服务器

# systemctl start nfs-server
# systemctl enable nfs-server

检查NFS输出是否正常
# exportfs -v
-v 检查输出的目录
/root/webdata
192.168.75.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

2.3.web1客户端(关闭防火墙)

WEB1服务器

2.3.1.安装NFS客户端

# yum -y install nfs-utils httpd
# service httpd start
# service httpd enable

2.3.2.查看存储端共享

# showmount -e 192.168.75.147
// 查询NFS服务器可用目录

查看的结果

2.3.3. 手动挂载

# mount -t nfs 192.168.75.147:/root/webdata
/var/www/html/
注释
mount -t nfs 192.168.142.133:/root/webdata
/var/www/html
挂载命令 类型 nfs类型 nfs服务器地址:nfs输出目录
本地目录

发现挂载不起:

no_root_squash 会赋予客户端 root 完全权限,仅在可信局域网 中使用,生产环境建议用 root_squash 并通过普通用户权限控制访问。

2.3.4.查看挂载

# df

2.3.5.使用web客户端查看web服务器

真机打开浏览器浏览网页即可。

2.4.测试网站访问

# firefox 192.168.75.147

在命令行中输入 firefox 192.168.75.147 的作用是 启动 Firefox 浏览器并尝试访问 IP 地址为 192.168.75.147 的服务器所提供的 Web 服务(默认通过 HTTP 协议访问 80 端口)。

三、SSH SERVER

3.1.简介

有没有感觉在服务器的字符界面,进行选取,复制,粘贴,翻页很不方便。所以就可借助SSH(安全外壳协议)远程操作和管理系统,不仅方便而且安全可靠。

3.2.SSH 服务器实战

1、登录CentOS

2、查询SSH是否安装

查看SSH是否安装。

输入命令:rpm -qa | grep ssh/yum list installed | grep ssh

注:若没安装SSH则可输入:yum install openssh-server安装

3、SSH服务管理

配置文件管理:vim /etc/ssh/sshd_config

禁止root用户远程登录

        可设置为: PermitRootLogin no

若需要允许root通过密钥登录(禁止密码登录)

        可设置为:PermitRootLogin prohibit-password

结果:

Port 22:登录端口22

启动服务

        (默认启动)systemctl start sshd

查看端口

        netstat -antp | grep sshd

        22号端口提供者SSH服务

开机启动

        (默认启动)systemctl enable sshd

4、使用SSH远程管理

#ssh 账户名@IP地址

5、免密登录

环境:192.168.142.134

业务服务器-数量非常大:192.168.142.129

跳板机

1.使用129远程134需要使用密码

2.在129生成秘钥并传递给134

生成秘钥

传递秘钥

3.使用129远程134-免密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90119.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot与Vue实战:高效开发秘籍

Spring Boot 是什么? Spring Boot 简介 Spring Boot 是基于 Spring 框架的快速开发工具,旨在简化 Spring 应用的初始搭建和开发过程。它通过约定大于配置的原则,提供自动配置、内嵌服务器和依赖管理等功能,使开发者能够快速构建独立运行的、生产级别的应用。 核心特点 …

基于 fastapi 的 YOLO 批量目标检测 API:支持单图 / 文件夹自适应处理

项目背景 在计算机视觉任务中,我们经常需要对大量图片进行目标检测和标注。YOLO 系列模型凭借其高效性成为目标检测的首选工具之一,但批量处理图片时往往需要编写繁琐的脚本。本文将介绍一个基于 Flask 和 YOLOv11 的 API 服务,支持单张图片…

周志华《机器学习导论》第13章 半监督学习

目录 1. 未标记样本 2. 生成式方法 高斯混合EM 3. 半监督SVM 存在未标记样本的SVM变形 4. 图半监督学习 对图权值迭代矩阵计算 5. 基于分歧的方法 多视图协同训练 6. 半监督聚类 k-means的条件变形 6.1 Constrained k-means 利用“必连”与 “勿连”约束 6.2 Constra…

消息推送功能设计指南:精准触达与用户体验的平衡之道

消息推送功能设计指南:精准触达与用户体验的平衡之道消息推送是平台与用户保持连接的重要桥梁,既能及时传递重要资讯,又能唤醒沉睡用户、提升活跃度。然而,推送功能若设计不当,可能变成 “信息骚扰”,导致用…

CanOpen--SDO 数据帧分析

CanOpen--SDO 数据帧分析1 介绍1.1 概述1.2 主站与从站2 数据帧详细分析2.1 主站发送的请求帧 (Client → Server)2.2 从站响应的确认帧 (Server → Client)成功数据帧内容示例错误帧2.3 命令字2.4 小端格式:低字节在前3 其他示例60FF index 发送 数值 1000 数据帧分…

Day20-二叉树基础知识

二叉树(Binary Tree)是一种每个节点最多有两个子节点的树形数据结构,这两个子节点分别称为左子节点和右子节点。二叉树是计算机科学中最基础、最常用的树结构之一,广泛应用于搜索、排序、表达式解析等领域! 核心特点 …

示波器探头接口类型与PINTECH品致探头选型指南

一、示波器探头接口类型及技术特点1. BNC接口:通用型主流标准- 优势:75%以上示波器标配接口,具备阻抗匹配灵活(50Ω/1MΩ)、插拔稳定、抗干扰性强等特点。 - 应用场景:适用于大多数示波器(如Le…

Spring之【Bean工厂后置处理器】

目录 BeanFactoryPostProcessor BeanDefinitionRegistryPostProcessor 使用一下Bean工厂后置处理器 定义包扫描范围 定义一个组件Bean 定义一个普通的类 自定义一个组件类实现Bean工厂后处理器 测试类 BeanFactoryPostProcessor 该接口是Spring提供的扩展点之一是一个…

【C++】第十八节—一文万字详解 | map和set的使用

嗨,我是云边有个稻草人,与你分享C领域专业知识(*^▽^*) 《C》本篇文章所属专栏—持续更新中—欢迎订阅— 目录 一、序列式容器和关联式容器 二、set系列的使用 2.1 set和multiset参考⽂档 2.2 set类的介绍 2.3 set的构造和迭代器 2.4 set的增删查…

Java 大视界 -- Java 大数据在智能交通自动驾驶车辆与周边环境信息融合与决策中的应用(357)

Java 大视界 -- Java 大数据在智能交通自动驾驶车辆与周边环境信息融合与决策中的应用(357)引言:正文:一、Java 构建的环境信息融合架构1.1 多传感器数据实时关联1.2 动态障碍物轨迹预测二、Java 驱动的决策系统设计2.1 紧急决策与…

单细胞转录组学+空间转录组的整合及思路

一、概念 首先还是老规矩,处理一下概念问题,好将之后的问题进行分类和区分 单细胞转录组:指在单个细胞水平上对转录组(即细胞内所有转录出来的 RNA,主要是 mRNA)进行研究的学科或技术方向,核心…

用Python实现神经网络(五)

这一节告诉你如何用TensorFlow实现全连接网络。安装 DeepChem这一节,你将使用DeepChem 机器学习工具链进行实验在网上可以找到 DeepChem详细安装指导。Tox21 Dataset作为我们的建模案例研究,我们使用化学数据库。毒理学家很感兴趣于用机器学习来预测化学…

ReasonFlux:基于思维模板与分层强化学习的高效推理新范式

“以结构化知识压缩搜索空间,让轻量模型实现超越尺度的推理性能” ReasonFlux 是由普林斯顿大学与北京大学联合研发的创新框架(2025年2月发布),通过 结构化思维模板 与 分层强化学习,显著提升大语言模型在复杂推理任务…

PHP与Web页面交互:从基础表单到AJAX实战

文章目录 PHP与Web页面交互:从基础到高级实践 1. 引言 2. 基础表单处理 2.1 HTML表单与PHP交互基础 2.2 GET与POST方法比较 3. 高级交互技术 3.1 AJAX与PHP交互 3.2 使用Fetch API进行现代AJAX交互 4. 文件上传处理 5. 安全性考量 5.1 常见安全威胁与防护 5.2 数据验证与过滤 …

OpenCV基本的图像处理

参考资料: 参考视频 视频参考资料:链接: https://pan.baidu.com/s/1_DJTOerxpu5_dSfd4ZNlAA 提取码: 8v2n 相关代码 概述: 因为本人是用于机器视觉的图像处理,所以只记录了OpenCV的形态学操作和图像平滑处理两部分 形态学操作:…

Git 与 GitHub 学习笔记

本文是一份全面的 Git 入门指南,涵盖了从环境配置、创建仓库到日常分支管理和与 GitHub 同步的全部核心操作。 Part 1: 初始配置 (一次性搞定) 在开始使用 Git 之前,需要先配置好你的电脑环境。(由于网络的原因,直接使用https的方式拉取仓库大概率是失败的,故使用ssh的方…

文件系统-文件存储空间管理

文件存储空间管理的核心是空闲块的组织、分配与回收,确保高效利用磁盘空间并快速响应文件操作(创建、删除、扩展)。以下是三种主流方法:1. 空闲表法(连续分配)原理:类似内存动态分区&#xff0c…

python爬虫实战-小案例:爬取苏宁易购的好评

一、项目背景与价值1 为什么爬取商品好评? 消费者洞察:分析用户真实反馈,了解产品优缺点 市场研究:监测竞品评价趋势,优化产品策略二.实现代码from selenium import webdriver from selenium.webdriver.edge.options i…

Spring Boot环境搭建与核心原理深度解析

一、开发环境准备 1.1 工具链选择 JDK版本:推荐使用JDK 17(LTS版本),与Spring Boot 3.2.5完全兼容,支持虚拟线程等JDK 21特性可通过配置启用构建工具:Maven 3.8.6(配置阿里云镜像加速依赖下载…

Java自动拆箱机制

在黑马点评项目中,提到了一个细节,就是Java的自动拆箱机制,本文来简单了解一下。Java 的​​自动拆箱机制(Unboxing)​​是一种编译器层面的语法糖,用于简化​​包装类对象​​(如 Integer、Boo…