標籤:style blog http color 使用 sp 檔案 資料 2014
整理自《鳥哥的Linux私房菜》,整理者:華科小濤http://www.cnblogs.com/hust-ghtao/
管理員的工作中,相當重要的一環就是“管理帳號”。因為整個系統都是你在管理的,並且所有一般使用者的帳號申請都必須要通過你的協助才行!所以必須要瞭解一下如何管理好一個伺服器主機的帳號。在管理Linux的帳號時,我們必須先來瞭解一下Linux是如何辨別每一個使用者的。
1.使用者登陸的來龍去脈
1.1 登陸過程
Linux系統上面的使用者如果需要登陸主機以取得shell的環境來工作時,需要通過以下步驟:
- 先尋找/etc/passwd是否有你輸入的帳號,如果沒有則跳出,如果有的話則將該帳號對應的UID與GID讀出,另外,將帳號的主資料夾和shell設定也一起讀出。
- 核對密碼。這時Linux會進入/etc/shadow裡面找出帳號對應的帳號與UID,然後核對一下輸入的密碼與裡面的密碼是否相符。
- 如果一切順利,則登陸成功,取得shell的管控權。
1.2 /etc/passwd檔案結構
檔案類似於:
每一行代表一個帳號,欄位之間用“:”隔開,共七個欄位,分別是:
帳號名稱:密碼:UID:GID:使用者資訊說名列:主資料夾:Shell
說明:
- 密碼:早起UNIX系統的密碼就是放在這個欄位上!但是這個檔案的許可權是所有程式都能讀取,很容易造成密碼資料被竊取,因此後來就將這個欄位的密碼資料放到/etc/shadow中了,所以這裡你會看到一個”x”。
- Shell:預設shell會使用bash,就是在這個欄位指定的。這裡需要注意的是,有一個shell可以用來替代成讓帳號無法取得shell環境的登陸操作,那就是/sbin/nologin。
1.3 /etc/shadow 檔案結構
很多程式的運行都與許可權有關,而許可權又與UID/GID有關,因此各個程式當然要讀取/etc/passwd來瞭解不同帳號的許可權。因此
/etc/passwd的許可權需要設定為-rw-r--r--。因為這樣的關係密碼移到/etc/shadow這個檔案,並加了很多的限制。檔案結構類似於:
每一行代表一個帳號,欄位之間用“:”隔開,共九個欄位,分別是:
帳號名稱:密碼:最近更改的日期:不可被更改的天數:需要重新更改的天數:警告天數:寬限時間:失效日期:保留
2.有效與初始使用者組
看完了和帳號直接相關的兩個檔案,再來看看使用者組的設定檔:/etc/group和/etc/gshadow。
2.1 /etc/group 檔案結構
檔案的內容有點像這樣:
每一行代表一個使用者組,也是以“:”作為欄位分割符,共分為4列,分別是:
使用者組名稱:使用者組密碼:GID:支援的帳號名稱
說明:
- 使用者組密碼:通常不需要設定,留給“使用者組管理員”。同樣已經移到/etc/gshadow中,因此為“x”。
- 通過圖示來瞭解帳號相關檔案之間的UID/GID與密碼間的關係:
- 有效使用者組與初始使用者組。現在就有一個問題了, 一個帳號可以加入多個使用者組,那麼在工作的時候,到底是以哪個使用者組為準呢?在/etc/passwd第四列,對應的使用者組是初始使用者組,使用者登陸就會主動取得,不需要再/etc/group第四個欄位寫入該帳號。帳號工作時是以有效使用者組為準,查看和更改有效使用者組的命令分別是groups和newgrp。
2.2 /etc/gshadow的檔案結構
檔案結構如下:
各個欄位含義:
使用者組名稱:密碼:使用者組管理的帳號:所屬帳號
說明:
- 這個檔案和建立“使用者組管理員”有關。就是帳號太多,root管理不過來,就可以建立使用者組管理員,負責將帳號納入自己管理的使用者組中。
Linux帳號管理(一)