Linux 伺服器系統管理:第五章 帳戶管理 下一頁 |
第五章 帳戶管理 5-1 使用者帳號/密碼
在多人使用系統環境裡,使用者必須事先擁有一個『帳戶』(Account),才可以依此登入系統並使用系統資源。另一方面,系統管理者必須針對每一使用者的身份及工作性質,來開啟帳戶並規劃其優先等級,以及存取資源的權限如何,並當成計費的依據(因此,稱之為 account)。簡單的說,帳戶即是使用者的身份識別,系統僅就帳戶名稱識別使用者的身份(非真實身份)。為了讓帳戶得到適當的保護而不被他人冒名頂替,一般帳戶都設有密碼,使用者必須正確輸入『帳戶/密碼』(Account/Password),才可以登入系統。而系統也會驗證帳戶名稱與密碼是否正確,才決定是否允許登入系統,這就是使用者身份識別的依據。 5-1-1 建立帳戶 系統管理者有權限與義務幫使用者建立帳戶(adduser 命令),並規劃其工作環境(容後介紹)。至於密碼方面,多半先由系統管理者設定(passwd 命令,如 Welcome),並郵遞傳送給使用者,當使用者首次登入系統之後,必須再重新設定自己選定的密碼(passwd 命令)。話說回來,帳戶名稱與密碼一般都儲存於系統檔案上(如 /etc/passwd),若是沒有經過特殊處理,萬一遭他人非法讀取該檔案,使用者的密碼便一覽無遺。因此,密碼在儲存之前都需經過某一種雜湊演算法(如 MD5)計算之後,得到一堆亂碼再儲存,既然亂碼無法由螢幕顯示出來,他人也無從輸入同樣的亂碼。至於雜湊演算法,它是一種單向計算公式,明文經過雜湊演算法以後,會計算出一段固定長度的雜湊值,而且無法由雜湊值倒推計算出原來的明文。如此一來,縱使他人可以看到密碼計算後的雜湊值,應該也無法(很困難的意思)由雜湊值計算出原來的密碼,如此便可達到保護密碼的功能。圖 5- 為建立帳戶與密碼的示意圖。
5-1-2 驗證密碼 使用者在取得帳號及密碼之後,便可登入系統,並可依照系統管理給予之權利範圍內存取系統上的資源。圖 5-2 是使用者登入的運作程序,首先經過網路連線(telent 140.127.138.32),連結主機成功之後,主機系統會傳送出 login: 與 passwd: 提示(訊號 (1) 與 (3)),要求使用者輸入帳戶名稱與密碼(訊號 (2) 與 (4))。系統接收到帳戶及密碼之後,會將使用者所輸入的密碼經過雜湊演算法(如 MD5)計算,所得的雜湊值再與密碼檔案(/etc/passwd)上使用者的密碼比對是否相同,如果兩者相同的話,則表示密碼正確,並允許登入系統(出現提示 $);否則顯示密碼錯誤(Login incorrect),並要求使用者重新登入。 圖 5-2 系統驗證密碼 由上述運作可以看出,雖然密碼是經過雜湊演算之後,再儲存於密碼檔案上,但只要設定密碼與登入系統時所採用的雜湊演算法是一樣的話,就不會影響密碼的辨識。一般 Unix/Linux 系統大多採用 MD5 演算法,但它也可能會遭受破解,因此,多半會要求使用者在某一段時間之內(15 天左右)必須更改密碼。再者,如果利用 Telnet 登入遠端主機,所輸入的密碼是以明文方式,透過網路傳送給主機,有心人士很容易截取明文密碼,因此常會利用加密後的密碼傳送確保安全(使用 ssh 連線);但也不見得,有興趣的讀者可參考拙著『資訊與網路安全技術』,內有更詳細資訊安全技術的相關技術。 |
翻轉工作室:粘添壽
Linux 伺服器系統管理 - CentOS:
翻轉電子書系列:
|