階段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
英文地址,請注明出處:http://en.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…