標籤:linux 使用者 使用者組
在Linux中,每個使用者都擁有一個唯一的使用者名稱和與之相關的使用者識別碼(UID,數值型)。一個使用者可以屬於多個使用者組,每個使用者組都擁有唯一一個名稱和一個使用者群組識別碼(GID,數值型)。
UID和GID的主要用途有:一,確定各種系統資源的所有權;二,對賦予進程訪問資源的許可權進行控制。
說起使用者和使用者組,就必須談談相關的系統檔案:/etc/passwd、/etc/shadow和/etc/group。這些檔案在Linux系統上都是以純文字的形式儲存。我們可以使用編輯器來修改它,也可以使用專有的命令來更改它。我們通過對這些檔案進行增加、刪除和修改的方式來對使用者和使用者組進行管理。
/etc/passwd
針對系統的每個使用者帳號,系統密碼檔案/etc/passwd都會列出一行來進行描述。描述資訊包含7個欄位,之間用冒號分隔,格式如下:
登入名稱:密碼:UID:GID:注釋:主目錄:Shell
如所示:
說明:
1. 登入名稱:登入系統時,使用者必須輸入的唯一名稱(即使用者名稱)。
2. 密碼:該欄位包含的是經過加密處理的密碼,長度一般為13個字元。若為”x”,說明密碼經過了shadow的保護,經過加密處理的密碼實際上儲存到shadow密碼檔案中了。如果使用者沒有設定密碼,則該項為空白。
3. UID:使用者的ID,數值型。如果該欄位為0,則表示該使用者是特權使用者,一般為root。UID為16位值,範圍在0~65535。1~500是系統預留ID,500以上則是普通使用者使用。
4. GID:使用者組標識,數值型。
5. 注釋:使用者的描述性資訊。
6. 主目錄:使用者登入後所處的初始路徑。一般以該欄位設定HOME環境變數。
7. Shell:一旦使用者登入,就交由該程式控制。若該欄位為空白,那麼Shell預設為/bin/sh。一般以該欄位設定SHELL環境變數。
/etc/shadow
任何使用者對passwd檔案都有讀的許可權,雖然密碼已經加密,但具有安全風險(比如,有人使用密碼破解工具)。為了規避這些風險,shadow密碼檔案/etc/shadow就出現了。經過加密的密碼由shadow密碼檔案單獨維護,僅供有特權(特權使用者)的程式讀取。
shadow密碼檔案中包含有登入名稱、經過加密的密碼,以及其他若干與安全性先關的欄位。它包含9個欄位,之間用冒號分隔,格式如下:
登入名稱:密碼:上次密碼改動日期:密碼不可被改動的天數:戲碼需要重新更改的天數:密碼變更期限到期前的警告期:帳號失效期:帳號取消日期:保留欄位
/etc/group
Linux的使用者組有私人組、系統組、標準組之分。
建立帳戶時,若沒有指定帳戶所屬的組,系統會建立一個和使用者名稱相同的組,這個組就是私人組,這個組只容納一個使用者。
系統組是系統自動建立的。
標準組可以容納多個使用者,組內使用者具有組所擁有的權利。
一個使用者可以屬於多個組,使用者所屬的組又有基本組和附加組之分。在使用者所屬組中的第一個組成為基本組,基本組在/etc/passwd檔案中指定;其他組為附加組,附加組在/etc/group中指定。屬於多個組的使用者所擁有的許可權是它所在的組的許可權之和。
/etc/group中的每一行記錄了一個組的資訊。它包含4個欄位,之間用冒號分隔,格式如下:
組名:組的密碼:GID:組的成員
說明:
1. 組名:組的名稱,如bin、nobody等。
2. 組的密碼:經過加密的密碼。一般情況下不使用組密碼。
3. GID:組的ID,數值型。
4. 組的成員:組內包含的成員,用逗號分隔。