發表文章

目前顯示的是 2025的文章

學習案例:首次登入的系統巡檢任務 (V2.0 增強版)

 # 學習案例:首次登入的系統巡檢任務 (V2.0 增強版) ## 情境介紹 (The Core Problem) 您是一位新上任的系統管理員,今天第一次登入公司的一台重要伺服器。您的首要任務不是修改任何東西,而是進行一次**非侵入式的系統巡檢**,全面了解這台主機的作業系統版本、帳號與網路配置、以及當前的運行狀態,並將結果彙整成一份結構化的報告。 ## 你的任務是: 1.  在你的家目錄下,建立一個用於存放本次巡檢報告的工作區。 2.  全面收集系統的**版本、帳號、網路、磁碟、登入及程序**等核心資訊。 3.  將收集到的原始數據,分門別類地儲存到一份報告檔案中。 4.  分析這份報告檔案,從中過濾並找出關鍵資訊。 5.  完成報告後,整理工作區。 --- ### 階段一:【建立工作區】為你的任務做好準備 * **問題:** 在開始收集資訊前,我需要一個乾淨的地方來存放我的報告。 * **操作與解說:**     ```bash     # 確認當前位置     pwd     # 建立名為 system_check 的資料夾     mkdir system_check     # 進入該資料夾     cd system_check     # 建立一個名為 report.txt 的空白報告檔     touch report.txt     # 確認工作區與檔案已就緒     ls -l     ```     * **階段成果:** 您已成功建立 `~/system_check/` 工作區及 `report.txt` 報告檔。 --- ### 階段二:【數據採集】將系統狀態輸出到報告中 * **問題:** 如何依序執行一系列檢查指令,並將它們的結果有條理地全部存入 `report.txt` 中? * **操作與解說:** 我們將使用 `>` (覆蓋) 來寫入第一筆資料,然後統一使用 `>>` (附加) 來新增後續所有資訊區塊...

學習案例:設定多人共用的安全 Web 目錄

# 實戰案例:設定多人共用的安全 Web 目錄 ## 情境介紹 (The Core Problem) 您是公司的系統管理員,目前正在管理一台 Web 伺服器。有兩位網頁開發者,`alice` 和 `bob`,他們需要共同開發一個位於 `/var/www/project_alpha` 的新網站。 **您的核心挑戰是:** 1.  `alice` 和 `bob` 都必須能夠在 `/var/www/project_alpha` 目錄中新增、編輯和刪除檔案。 2.  為了解決協作問題,`alice` 建立的檔案,`bob` 必須能夠編輯,反之亦然。 3.  系統上其他的無關使用者,絕對不能對此目錄有寫入權限。 4.  最終,網站伺服器軟體(例如 Nginx,通常以 `www-data` 使用者身份運行)需要能夠讀取這些檔案,以便將網頁呈現給訪客。 --- ## 階段一:【建立協作團隊與成員】 * **問題:** 「首先,我需要為開發者 `alice` 和 `bob` 建立系統帳號,並將他們納入一個名為 `webdevs` 的共同開發群組中。」 * **操作與解說 (以 `root` 或具備 `sudo` 權限的使用者執行):**     1.  **建立 `webdevs` 群組:**         ```bash         sudo groupadd webdevs         ```         * **`groupadd`**: 用於建立一個新的使用者群組。     2.  **建立使用者 `alice`,並將其主要群組設為 `webdevs`:**         ```bash         sudo useradd -m -s /bin/bash -g webdevs alice         ```         * **`us...

學習案例:設定 Ubuntu 伺服器的 SSH 金鑰安全認證

# 實戰情境:設定 Ubuntu 伺服器 (172.30.0.199) 的 SSH 金鑰安全認證 ## 概述 本教學模擬一個常見的內部訓練情境。指導者已備妥一台全新的 Ubuntu 伺服器,學員需從自己的 Ubuntu 電腦,透過私有網路連線至該伺服器,並完成從密碼登入到金鑰認證的安全升級。 ### **情境設定** * **指導者提供資訊:**     * 伺服器 IP 位址:`172.30.0.199`     * 初始登入帳號:`ubuntu`     * 初始登入密碼:(指導者提供) * **學員端 (您的電腦):**     * 作業系統:Ubuntu Linux     * 角色:跟隨本指南操作,連線至伺服器。 --- ## 步驟一:【前置作業】網路環境確認 在嘗試連線之前,必須先確認您自己的電腦與目標伺服器在網路上是「可溝通」的。 ### **1.1 檢查自身網路座標** * **問題:** 「在連線到別台電腦前,我得先知道我自己的 IP 位址是什麼,以及我所在的網路環境為何?」 * **操作 (在您的 Ubuntu 電腦上執行):**     ```bash     ip a     ```     * **解說:** 找出您電腦的網路卡(如 `ens18`, `eth0`),記下其 `inet` 後面的 IPv4 位址。 ### **1.2 確認與目標伺服器的連線** * **問題:** 「我知道我的位置了,那目標伺服器在網路上『活著』嗎?它的 SSH 服務有在聽嗎?」 * **操作 (在您的 Ubuntu 電腦上執行):**     1.  **測試網路是否通暢 (Ping):**         ```bash         ping -c 4 172.30.0.199         ```     2.  **測試 SSH 服務端口是否開啟 (Netcat):**   ...