Linux 伺服器系統管理:第十四章 系統管理程式設計 下一頁 |
第十四章 系統管理程式設計
14-1 帳戶查詢程式 管理帳戶是系統管理員入門的必修課程,如何增加、刪除或暫停某一帳號登入系統,可能藉由前面所介紹的命令操作即可達成。但如果管理大量帳戶(如班級同學),僅靠操作命令來達成,可能要浪費不少時間。我們既然學習了 Shell script 程式設計,為何不利用它來製作一些功能較強的管理工具呢?這裡作者僅提出幾個簡單範例,讓讀者了解 Shell script 程式設計的功能何在,有了這些簡單概念之後,相信讀者很快的即可發展出功能更強的管理工具出來。 當系統管理員最起碼需知道,在您的系統內到底有哪些一般帳戶可以登入。接下來,介紹兩個基本查詢程式。 14-1-1 查詢系統帳戶名稱 在 /etc/passwd 檔案,每一行表示一筆紀錄,並描述一個帳戶。其中 UID(使用者識別碼) 如果超過 500 大多給一般帳戶使用,我們可以利用這一點來查詢,到底系統有哪些一般帳戶。UID 位於 /etc/passwd 檔案的第三個欄位,我們只要將該欄位內容大於或等於 500 的第一個欄位名稱印出即可。我們可利用 awk 命令查詢,如下: (1) 所先指定欄位分隔標示冒號(-F :); (2) 命令語句是:第三欄位大於 500($3 > 500), (3) 則印出第一欄位內容({print $1}), (4) 並導入 /etc/passwd 檔案。 執行此命令時,將 /etc/passwd 檔案內以每一行為一筆資料,一筆接一筆進行比對,再印出結果,操作如下:
14-1-2 查詢帳戶名稱 當使用者要求建立帳戶時,大多會提供帳戶名稱(Login name)。基本上,帳戶名稱是不可以重複的,我們編寫一程式檢視使用者輸入的帳戶名稱是否重複。比對方法很簡單,輸入名稱與 /etc/passwd 中第一個欄位內容相比對,如果相同則表示該名稱已被使用。我們利用 Awk 命令稿製作,程式內容如下:($ vi ex14_2)
執行結果如下:
|
翻轉工作室:粘添壽
Linux 伺服器系統管理 - CentOS:
翻轉電子書系列:
|