第八章 學習系統管理
8.1 理解系統管理
su 命令 — 以 root 使用者身分開啟一個 shell
sudo 命令 — 一般使用者透過此命令執行其他命令時,該指令才會被賦予 root 權限
8.2 使用圖形化管理工具
Cockpit 是基於瀏覽器的系統管理工具
- 安裝 Cockpit
| |
- 以 root 身分登入,啟用 Cockpit 通訊端 (Socket)
| |
- 在瀏覽器打開介面:
localhost:9090
8.2.1 使用 system-config-* 工具
| 工具 | 命令 | 描述 |
|---|---|---|
| 網域名稱系統 (DNS) | system-config-bind | 如果電腦充當 DNS 伺服器,應建立和設定區域 (Zone) |
| HTTP | system-config-httpd | Apache Web 伺服器 |
| NFS | system-config-nfs | 設定與其他使用了 NFS 服務的電腦共用的目錄 |
| Root Password | system-config-rootpassword | 變更 root 密碼 |
| Samba NFS | system-config-samba | 設定 Windows 共用資料夾 |
| Services | system-config-services | 顯示和變更 Fedora 中在不同執行等級 (Runlevel) 的服務 |
| Authentication | authconfig-gtk | 變更系統中對使用者進行身分驗證的方式 |
| Date & Time | system-config-date | 設定日期和時間或與 NTP 伺服器保持同步 |
| Firewall | system-config-firewall | 設定防火牆 |
| Language | system-config-language | 選擇語言 |
| Printing | system-config-printer | 設定本機和網路印表機 |
| SELinux Management | policycoreutils-gui | 設定 SELinux 的強制模式與預設原則 |
| Users & Groups | system-config-users | 使用者帳號相關 |
8.3 使用 root 使用者帳號
8.3.1 透過 shell 成為 root 使用者
使用命令 su 即可轉為 root 使用者,但此時環境變數還是原來的帳號
使用 su - 以將環境變數也轉變為 root 使用者的
此外,透過 su - username 可切換到指定使用者
8.3.2 使用 sudo 獲取管理存取權限
使用 sudo 執行的命令擁有 root 權限,而且不需要 root 密碼,只需要賦予相應使用者權限即可
以下為賦予 sudo 權限
以 root 身分執行
visudo命令添加如下所示行
| |
這樣將賦予使用者 yexca 以 sudo 權限
- 儲存變更後的檔案
8.4.2 管理設定檔
大部分設定檔以純文字的形式存在 /etc 目錄下,以下為部分檔案
| 目錄 | 描述 |
|---|---|
| /etc/cron* | 定義了 crond 排程執行的程式,如 cron.daily、cron.hourly |
| /etc/cups | 設定 CUPS 列印服務的檔案 |
| /etc/default | 為各種公用程式設定預設值的檔案 |
| /etc/httpd | 設定 Apache Web 伺服器行為 |
| /etc/rc?.d | 針對每一種有效的系統狀態,都有一個單獨的 rc?.d 目錄:rc0.d (關閉狀態)、rc1.d (單一使用者狀態)、rc2.d (多使用者狀態)、rc3.d (多使用者加網路狀態)、rc4.d (使用者定義的狀態)、rc5.d (多使用者、網路與 GUI 登入狀態) 和 rc6.d (重新啟動狀態) |
| /etc/skel | 建立新使用者時,該目錄檔案被複製到新使用者的家目錄 |
| /etc/sysconfig | 包含各種服務所建立和維護的重要系統設定檔 |
| /etc/systemd | 包含與 systemd 公用程式 (用來管理啟動程序和系統服務) 相關聯的檔案 |
| /etc/xinetd.d | 包含一組檔案,每一個檔案定義了一個 xinetd 守護行程 (Daemon) 監聽某一個特定埠號 (Port) 所需的隨選網路服務 |
8.4.3 管理紀錄檔和 Systemd.Journal
rsyslogd 和 systemd 的 journalctl 命令
rsyslogd 及前身 syslogd 將檔案放到 /var/log 目錄
8.5 使用其他管理帳號
例如 lp、apache、bin 等使用者,預設不允許登入
如果要登入需要將預設 shell 從 /sbin/nologin 或 /bin/false 改為真實 shell,例如 /bin/bash
8.6 檢查和設定硬體
8.6.1 檢查硬體
透過 dmesg 或 journalctl 命令查看 Linux 啟動時硬體檢測資訊以及驅動程式載入資訊
透過 lspci 命令查看電腦上 PCI 匯流排 (Bus) 及連接到這些匯流排上的裝置,lsusb 命令列出 USB 裝置資訊,lscpu 列出處理器資訊
8.6.2 使用可載入模組
如果想添加未被正確識別的硬體,可能需要手動載入
- 列出可載入模組
透過 lsmod 命令,如要獲取某一模組詳情,透過 modinfo -d 模組 命令
- 載入模組
使用 modprobe 命令載入任何被編譯並安裝到執行核心 (Kernel) 的模組
- 刪除模組
使用 rmmod 命令,或使用 modprobe -r 以將相依模組一起刪除
8.7 小結
在 Linux 中應該把各項服務 (http、git 等) 單獨建立使用者並限制登入權限以確保系統安全
第九章 安裝 Linux
無
圖形化安裝不必多說,其他安裝可參考 Arch 參考手冊
我也寫了一篇比 Arch 手冊更入門的文章: 虛擬機器中 Arch Linux 安裝記錄 – yexca’Blog
另有遠端安裝例如 PXE 啟動之類因無法重現,無法理解