首頁 > 軟體

Linux的賬號與許可權管理詳解

2020-06-16 16:32:06

一、管理使用者賬號
1、使用者賬號概述
與Windows系統相比,Linux系統中的使用者賬號和組賬號的作用在本質上是一樣的,同樣都是基於使用者的身份來控制對資源的存取,只不過在表現形式及個別細節方面存在些許差異。
1)、使用者賬號
在Linux系統中,根據系統管理的需求將使用者賬號分為不同的型別,其擁有的許可權、擔任的角色也各不相同,主要包括超級使用者、普通使用者、和程式使用者。
超級使用者:root使用者是Linux系統中預設的超級使用者賬號,對本機擁有最高的許可權,類似於Windows系統中的Administrator使用者。只有進行系統管理、維護任務時,才建議使用root使用者登入系統,日常事務處理建議只使用普通使用者賬號。
普通使用者:普通使用者賬號需要由root使用者或其他管理員建立,擁有的許可權受到一定的限制,一般只用在使用者自己的宿主目錄擁有完整的許可權。
程式使用者:在安裝Linux系統及部分應用時,或新增一些特定的低許可權使用者賬號,這些使用者一般不允許登陸到系統,而僅用於維持系統或某個程式的正常執行。

2)、UID號
Linux系統中的每一個使用者賬號都有一個數位形式的身份標記,稱為UID,對於核心系統來說,UID作為作為區分使用者的基本依據,原則上每個使用者的UID號應該是唯一的。root使用者賬號的UID號為固定值0,而程式使用者賬號的UID號預設為1~999,1000~60000的UID號是預設分配給普通使用者的。

3)、使用者賬號檔案
Linux系統中的使用者賬號、密碼等資訊均儲存在相應的組態檔中,直接修改這些檔案或者使用使用者管理命令都可以對使用者賬號進行管理。與使用者相關的組態檔主要有兩個,分別是/etc/passwd、/etc/shadow。前者用於儲存使用者賬號、宿主目錄、登入SHELL等基本資訊,後者用於儲存使用者的密碼、賬號有效期等資訊。

passwd檔案中的設定行格式


passwd檔案的每一行內容中,包含了用七個用冒號“:”分隔的設定欄位,從左到右各設定欄位含義如下所述。
第一個欄位:使用者賬號的名稱,也是登入系統時使用的識別名稱。
第二個欄位:經加密的使用者密碼字串,或者密碼預留位置“x”。
第三個欄位:使用者賬號的UID號。
第四個欄位:所屬基本組賬號的GID號。
第五個欄位:使用者全名,可填寫與使用者相關的說明資訊。
第六個欄位:宿主目錄,即該使用者登陸後所在的預設工作目錄。
第七個欄位:登入shell等資訊,使用者完成登陸後使用的Shell。

shadow檔案中的設定行格式


shadow檔案中的每一行內容中,包含了九個用冒號“:”分隔的設定欄位,從左至右各設定欄位的含義如下所示。
第一個欄位:使用者賬號名稱。
第二個欄位:使用MD5加密的密碼字串資訊,當為“*”或“!”時表示此使用者不能登入到系統,若該欄位內容為空,則該使用者無需密碼即可登入系統。
第三個欄位:上次修改密碼的時間,表示從1970年0101日算起到最近一次修改密碼時間隔的天數。
第四個欄位:密碼的最短有效天數。
第五個欄位:密碼的最長有效天數。
第六個欄位:提前多少天警告使用者口令即將過期,預設值為7。
第七個欄位:在密碼過期多少天後多少天內禁用此使用者。
第八個欄位:賬號失效期間,此欄位指定了使用者作廢的天數。
第九個欄位:保留欄位,目前沒有特定用途。

2、使用者賬號管理
1)useradd命令
useradd命令可以用於新增使用者賬號,其基本命令格式為:useradd 【選項】 使用者名稱
例如建立一個名為lisi的使用者

useradd常用的選項
-u:指定使用者的UID號,前提是該UID號未被使用。
-d:指定使用者的宿主目錄位置。
-e:指定使用者的賬號失效時間。
-M:不建立宿主目錄。
-s:指定使用者的登入Shell。

passwd命令
使用passwd命令可以設定或修改密碼,root有權管理其他賬號的密碼。例如這裡我們對使用者“wangwu”的密碼進行設定。

使用passwd命令除了可以修改賬號密碼外,還能夠對使用者賬號進行鎖定、解鎖,也可以將使用者的密碼設定為空。相關幾個選項如下。
-d:清空指定使用者的密碼,無需密碼即可登入。
-l:鎖定使用者賬號。
-S:檢視使用者賬號的狀態。
-u:解鎖使用者賬號。
下面我們以使用者“lisi”為例進行賬號的鎖定與解鎖。

usermod命令
對於系統中已經存在的的使用者賬號,可以使用usermod命令進行重新設定各種屬性。usermod命令同樣需要指定賬號名稱作為引數。以下是比較常見的幾個選項。
-u:修改使用者的UID號。
-d:修改使用者的宿主目錄位置。
-e:修改使用者的賬號失效時間。
-s:指定使用者的登入Shell。
-L:鎖定使用者賬號。
-l:更改使用者賬號的登入名稱。
-U:解鎖使用者賬號。
例如我們對使用者的登入Shell進行修改。

userdel命令
當系統中的某個使用者賬號不再需要使用時,我們就可以使用userdel命令對其進行刪除,該命令也需要指定使用者名稱作為引數,結合選項“r”可連同宿主目錄一起刪除。
此時我們以刪除使用者wangwu為例進行操作。

二、管理組賬號
對於使用者賬號來說,對應的組賬號可分為基本組和附加組兩種型別。每一個使用者賬號可以是多個組賬號的成員,但是其基本組賬號只有一個。

1、組賬號檔案
與組賬號相關的組態檔也有兩個,分別是、etc/group、etc/gshadow。前者用於儲存組賬號名稱、GID、組成員等基本資訊,後者用於儲存組賬號的加密密碼字串等資訊。

2、新增、刪除、修改組賬號
1)、groupadd命令可以新增一個組賬號,需要指定GID號時,可以使用“-g”選項。例如我們建立一個名為“yun”的組賬號。

2)、gpasswd命令本來是用於設定組賬號的密碼,但該功能極少使用,實際上該命令更多的用來管理組賬號的使用者成員。需要新增、刪除成員使用者時,可分別使用“-a”“-d”選項。
例如我們向yun組中新增使用者成員stu01,刪除成員使用者stu02。

3)、當系統中的某個組賬號不再使用時,可以使用groupdel命令進行刪除。
這裡我們以刪除yun賬號組為例進行操作。

3、查詢賬號資訊
1)、使用id命令可以快速檢視指定使用者賬號的UID、GID等標識資訊。

2)、使用groups命令可以檢視指定的使用者賬號屬於那些組。

3)、使用finger命令可以查詢指定的使用者賬號的登入屬性等詳細資訊。

使用w命令可以查詢當前主機中的使用者登入情況,列出登入賬號名稱、所在終端、登陸、、登入時間、來源地點等資訊。

三、檔案的許可權及歸屬
1)、設定檔案許可權
在設定檔案許可權時,主要通過chomd命令進行。

2)、設定檔案的歸屬
需要設定檔案的歸屬時,主要通過chomn命令進行。可以只設定屬主或屬組,也可以同時設定屬主、屬組。
對/bdqn/kgc.txt的屬主、屬組同時進行修改。


IT145.com E-mail:sddin#qq.com