資訊安全與系統管理 2013/3/13 Chien wei lin
Linux 基礎 Linux 基礎大至可分為以下部份 檔案系統 系統程序 帳號權限 網路管理
開機程序
MBR 主開機紀錄(Master Boot Record,縮寫:MBR),是電腦開機後存取硬碟時所必須要讀取的首個磁區 記錄著硬碟各個磁區的大小及位置。如果損毀,硬碟上的基本資料結構訊息將會遺失,需要用試探性的救援軟體才可能重新存取原先的資料 一顆硬碟只會有一個 MBR
Boot Loader 開機管理程式 Boot Loader,主要用來載入作業系統的開機程式 開機管理程式可以載入存放在硬碟不同磁區的多個作業系統,通常會以選單的方式出現 開機管理程式會存放在 MBR 當中 依作業系統不同,安裝時所使用的開機管理程式也不同,因此會有不同的選單介面 開機管理程式不一定能支援所有的作業系統 如: Windows 的開機管理程式就不支援 Linux 在每個磁區的一開始 GRUB 是諸多 Linux 發行版採用的開機管理程式
說明查詢 在 Linux 伺服器中完全使用指令作為操作方式,若有用法不明確的時候,就會透過以下方式查詢使用說明 <指令> --help 查詢簡短的指令說明 如: ls --help man <指令或文件名稱> 查詢完整的指令文件 如: man ls 由於完全使用指令操作,因此所有的動作都會透過指令參數去做設定 一般而言我們不會去背每個指令的參數,但是要會查 即使要記,也只是記常用的幾個參數
檔案/目錄操作 ls cd <目錄名稱> vi <檔案名稱> cp <來源> <目標> 檢視目錄清單(List) cd <目錄名稱> 切換目錄(Change Directory) vi <檔案名稱> 編輯檔案 cp <來源> <目標> 複製檔案(Copy) rm <檔案名稱> 移除檔案(Remove) rmdir <目錄名稱> 移除資目錄 (Remove Directory) mkdir <目錄名稱> 建立目錄(Make Directory)
使用 VI 編輯器 操作界面 所有的操作方式都透過英文字母及符號組成的指令 方向鍵 – 移動游標 i – 進入插入文字模組 [ESC] 回復檢視模式 x – 刪除文字 dd – 刪除行 :q! – 不存檔離開 :x – 存檔離開 / – 搜尋 :<行號> – 跳到指定行
練習一 於使用者家目錄中編輯檔案 ,檔名為 linux 內容如下: Ubuntu is the world's favourite free operating system, with more than 20 million people preferring it to commercial alternatives.
練習二 使用 vi 將 favourite 更改為 favorite 如下 新增一行在下方 Ubuntu is the world's favorite free operating system, with more than 20 million people preferring it to commercial alternatives. 新增一行在下方 Hello World
Ubuntu 的目錄結構 / 根目錄 │ ├boot/ 開機程式,與系統開機有關的檔案都儲存在這裡 ├dev/ 所有裝置連接存放的位置 / 根目錄 │ ├boot/ 開機程式,與系統開機有關的檔案都儲存在這裡 ├dev/ 所有裝置連接存放的位置 ├proc/ 核心與執行中程序資訊存放的位置 ├mnt/ 臨時掛載磁區的位置 ├media/ 掛載媒體設備的位置 ├root/ root 使用者的家目錄 ├home/ │ ├user/ 一般使用者的家目錄 │ └.../
Ubuntu 的目錄結構 (續) ├bin/ 系統基礎程式 ├sbin/ 系統管理程式 ├lib/ 系統套件庫 ├etc/ 系統程式及應用程式的設定檔存放位置 │ ├init.d/ 服務啟動執行檔的存放位置 │ ├network/ 網路介面設定檔的存放位置 ├usr/ │ ├bin/ 應用程式 │ ├sbin/ 應用程式管理程式 │ ├lib/ 應用程式套件庫 │ ├share/ 應用程式相關檔案 │ ├src/ 應用程式原始碼 │ └local/ 應用程式文件 ├var/ 系統服務儲存資料 └temp/ 暫存空間
檢視系統的記錄 在 Linux 中,所有的系統服務記錄都會存放在 /var/log 當中 一般常看的系統記錄檔如下: /var/log/messages 系統一般記錄的位置,若無特別分類都會在此 /var/log/boot 系統開機時的記錄 /var/log/auth.log 使用者登入與認証的記錄 還會有一些記錄是依據安裝的服務才會有的,常件的如 /var/log/apache2/* Apache 網頁伺服器的相關記錄 /var/log/mysql/* MySQL 資料庫的相關記錄
檢視系統的記錄 (續) 檢視記錄檔可以使用 cat <檔案名稱> tail <檔案名稱> 讀取所有檔案的內容 tail <檔案名稱> 只讀取檔案的結尾 more <檔案名稱> 讀取所有檔案的內容並會分頁 z 可以換頁 q 可以離開 grep <過濾條件> <檔案名稱> 查詢檔案中有出現過濾條件的行
指令的合併使用 在 Linux 當中,有很多的訊息不一定儲存在檔案當中,如果需要用到上述的分頁,過濾功能,就需要透過合併指令 dmesg 是一個指令可以查詢 Linux 在開機程序時所執行的動作包含硬體資訊 dmesg 的訊息很長,要使用分頁功能則需要下: dmesg | more | 是特殊符號可以將 dmesg 的結果執行完傳送給 more 當某些指令的輸出超過一頁時也可以使用 more 指令: ls --help | more
練習 dmesg 儲存了開機時硬體偵測的相關資訊,如果要只看到 CPU 相關的資訊該如何下指令? 使用 grep 承上題,如果顯示的資訊仍超過一頁,需使用指令做分頁該如何下指令? 使用 more
程序的操作 程序是每一個在伺服上正在執行的程式,在伺服器管理,所有的程序管理也是透過指令的方式來進行 top 監控目前的處理程序 說明按 h 離開按 q kill <程序編號>, killall <程序名稱> 刪除指定的處理程序 ps 查詢所有程序
練習 使用 top 指令查詢記憶體使用率最高的程序?
系統管理者 在 Linux 中,系統管理者的帳號為 root root 帳號通常不允許直接登入 需要透過 sudo 指令,將身份轉換為 root 執行管理相關的指令 在 Ubuntu 中,能轉換為 root 身份的使用者必須在管理者(admin)群組當中 用法: sudo <指令> 系統安裝時建立的使用者即是管理者群組的成員 因此可以透過 sudo 指令轉換成管理者身份執行管理者的指令 如新增使用者: sudo adduser 系統設定檔的修改皆需有管理者的身份才可以更改
關機與重新開機 在 Linux 當中,因為做為伺服器用途,關機與重新開機均需要管理者權限方可執行 關機 重新開機 sudo shutdown –h now 重新開機 sudo reboot