一、用戶管理之配置文件的重要性 在Linux系統中,用戶賬戶的相關信息是存放在相關配置文件中。而Linux安全系統的核心是用戶賬號,用戶對系統中各種對象的訪問許可權取決於他們登錄系統時用的賬戶,並且Linux系統使用特定的配置文件和工具來跟蹤和管理系統中的用戶賬戶。 二、說說配置文件 這裡講述的配置文 ...
一、用戶管理之配置文件的重要性
在Linux系統中,用戶賬戶的相關信息是存放在相關配置文件中。而Linux安全系統的核心是用戶賬號,用戶對系統中各種對象的訪問許可權取決於他們登錄系統時用的賬戶,並且Linux系統使用特定的配置文件和工具來跟蹤和管理系統中的用戶賬戶。
二、說說配置文件
這裡講述的配置文件分為用戶配置文件和用戶組配置文件,比如/etc/passwd和/etc/shadow是用戶配置文件,/etc/group和/etc/gshadow是用戶組配置文件。
(1)首當其衝要講講/etc/passwd文件,該文件位於/etc目錄下。/etc/passwd是一個標準的文本文件,你可以用任何的文本編輯器修改該文件的內容。如果/etc/passwd文件出現損壞,系統就無法讀取它的內容了,這樣會導致用戶無法正常登錄,只用重裝Linux系統解決了。/etc/passwd文件包含了一些與用戶相關的信息,將用戶的登錄名匹配對應的UID值。UID即User ID,擁有創建許可權的用戶創建用戶時會分配唯一的用戶ID,UID是數值但在登錄系統時用的不是UID,而是登錄名。
如2-1圖所示,/etc/passwd文件的部分信息。每一行就是用戶賬戶的相關信息,每一行包含7個欄位的信息:
第1個欄位:用戶名稱,即登錄名。
第2個欄位:密碼標誌。該欄位都被設置成了x,並不是說所有的用戶賬戶都用相同的密碼,這隻是一個密碼標誌而已,用戶有無密碼都會被設置成x。
第3個欄位:UID,即用戶ID(User ID)。其中0用來標記超級用戶,比如root用戶,如果手動更改某一個用戶的UID為0,那該用戶也會擁有超級用戶的許可權。1-499這個範圍用來標記系統用戶,這些用戶俗稱偽用戶是系統上運行的各種服務進程訪問資源用的特殊賬戶,所有運行在後臺的服務都需要用一個系統用戶賬戶登錄到Linux系統上。500-65535這個範圍用戶來標記普通用戶,比如新創建的用戶的UID值就會在這個範圍內。
第4個欄位:GID,即用戶組的ID(用戶初始組的ID)。這裡的用戶組分為初始組和附加組,初始組就是指用戶一登錄就立刻擁有這個用戶組的相關許可權,每個用戶的初始組只能有一個,一般就是與這個用戶的用戶名相同的組名作為這個用戶的初始組。附加組就是指用戶可以加入多個其他的用戶組,並擁有這些組的許可權,附加組可以有多個。
第5個欄位:用戶說明,就是用戶的相關描述。
第6個欄位:用戶的HOME目錄的位置。普通用戶的HOME目錄一般都是/home/用戶名/這樣的形式,root用戶的HOME目錄是/root/。
第7個欄位:登錄之後的shell。
圖 2-1
(2)其次是/etc/shadow文件位於/etc目錄下,該文件是保存密碼相關信息。只有root用戶才能訪問這個文件,如果root用戶編輯了該文件,有可能被更改的用戶就登錄不上。使用shadow密碼系統後,Linux系統可以更好地控制用戶密碼。它可以控制用戶多久更改一次密碼,以及什麼時候禁用該用戶,如果密碼未更新的話。
如圖2-2所示,在/etc/shadow文件中,系統為每個用戶都保存了一條記錄,每條記錄都有9個欄位:
第1個欄位:用戶名,即登錄名。
第2個欄位:加密之後的密碼,使用SHA512散列加密演算法進行加密。如果密碼欄位位是"!!"或"*"代表沒有密碼,不能登錄。
第3個欄位:密碼最後一次的修改日期(天數表示),使用1970年1月1日作為標準時間,每過一天時間戳加1。
第4個欄位:兩次密碼的修改時間間隔(和第3個欄位相比)。
第5個欄位:密碼有效期(和第3個欄位相比)。
第6個欄位:密碼到期前的警告天數(和第5個欄位相比)。
第7個欄位:密碼到期後多少天禁用用戶。
第8個欄位:用戶被禁用的日期(用天數表示),使用1970年1月1日作為標準時間,每過一天時間加1。
第9個欄位:預留欄位給將來使用。
圖 2-2
(3)用戶組的配置我就不細說了,跟用戶的配置文件大同小異。接下來說說用戶模板目錄/etc/skel/,用戶模板目錄是作為創建新用戶HOME目錄的模板。這樣就能自動在每個新用戶的HOME目錄放置預設的系統文件。