天天看點

Linux環境下賬号和權限管理

概述

在Linux系統中,根據系統管理的需要将使用者賬号分為不同的類型,其擁有的權限,擔任角色也不同,主要包括超級使用者、普通使用者和程式使用者。

1使用者賬号

超級使用者:root使用者是Linux系統中預設的超級使用者賬号,類似于windows系統中的Administrator使用者。隻有當進行系統管理、維護任務時,才建議使用root使用者登入系統,日常事務處理建議隻使用普通使用者賬号。

普通使用者:普通使用者賬号需要由root使用者或其他管理者使用者建立,擁有的權限受到一定限制,一般隻在使用者自己的宿主目錄中擁有完整權限。

程式使用者:在安裝Linux系統及部分應用程式時,會添加一些特定的低權限使用者賬号,這些使用者一般不允許登入到系統,而僅用于維持系統或某個程式的正常運作。

2組賬号

基于某種特定聯系将多個使用者集合在一起,構成一個使用者組,用于表示該組内所有使用者的賬号稱為組賬号。每一個使用者賬号至少屬于一個組,這個組稱為該使用者的基本組。若該使用者同時還包括在其他的組中,這個組稱為該使用者的附加組。

3UID和GID号

Linux系統中的每一個使用者賬号都有一個數字形式的身份标記,稱為UID,UID作為區分使用者的基本資料,原則上每個使用者的UID号應該是唯一的。root使用者賬号的UID号為固定值0,而程式使用者賬号UID号預設為1~499,500~60000的UID号預設配置設定給普通使用者使用。

與UID相類似,每一個組賬号也有一個數字形式的身份标記,稱為GID,root組賬号的GID号為固定值0,而程式組賬号的GID号預設為1~499,500~60000的GID号預設配置設定給普通組使用。

4使用者賬号檔案

與使用者賬号相關的配置檔案主要有兩個,分别是/etc/passwd、/etc/shadow。前者用于儲存使用者名稱、宿主目錄、登入shell等基本資訊,後者用于儲存使用者的密碼、賬号有效期等資訊。兩個配置檔案中,每一行對應一個使用者賬号,不同的配置項之間使用冒号“:”進行分隔。

1)passwd檔案中的配置行格式

系統中所有使用者的賬号基本資訊都儲存在/etc/passwd檔案中,該檔案是文本檔案,任何使用者都可以讀取檔案中内容。

在passwd 檔案開頭的部分,包括超級使用者root及各程式使用者的賬号資訊,系統中新增加的使用者賬号資訊将儲存到passwd檔案的末尾。passwd檔案的每一行美容中,包含了七個用冒号“:”分隔的配置字段。

第1字段:使用者賬号的名稱。也是登入系統時使用的識别名稱。

第2字段:經過加密的使用者密碼字串,或者密碼占位符“x”。

第3字段:使用者賬号的UID号。

第4字段:所屬基本組賬号的GID号。

第5字段:使用者全名。

第6字段:宿主目錄,即該使用者登入後所在的預設工作目錄。

第7字段:登入shell等資訊。

2)shadow檔案中的配置行格式

shadow檔案被稱為“影子檔案”,其中儲存有各使用者賬号的密碼資訊,是以對shadow檔案的通路應該進行嚴格限制。預設隻有root使用者能夠讀取檔案中的内容,而不允許直接編輯該檔案中的内容。

shadow檔案的每一行内容中,包含了九個用冒号“:”分隔的配置字段。

第1字段:使用者賬号名稱。

第2字段:使用MD5加密的密碼字串資訊,當為“*”或“!!”時表示此使用者不能登入到系統。若該字段内容為空,則該使用者無需密碼即可登入系統。

第3字段:上次修改密碼的時間。

第4字段:密碼的最短有效天數。預設為0,表示不進行限制。

第5字段:密碼的最長有效天數。預設為99999,表示不進行限制。

第6字段:提前多少天警告使用者密碼将過期,預設為7.

第7字段:在密碼過期之後多少天内禁用此使用者。

第8字段:賬号失效時間,預設為空号,表示賬号永久可用。

第9字段:保留字段,目前沒有特定用途。

5添加、删除、修改使用者賬号指令彙總

Linux環境下賬号和權限管理
Linux環境下賬号和權限管理
Linux環境下賬号和權限管理

6檢視目錄和檔案的屬性

在Linux檔案系統的安全模型中,為系統中的檔案或目錄賦予了兩個屬性:通路權限和檔案所有者,簡稱為“權限”和“歸屬”。其中,通路權限包括讀取、寫入、可執行三種基本類型,歸屬包括屬主(擁有該檔案的使用者賬号)、屬組(擁有該檔案的組賬号)。Linux系統根據檔案或目錄的通路權限,歸屬來對使用者通路資料的過程進行控制。

使用帶“-l”選項的ls指令時,将以長格式顯示出檔案或目錄的詳細資訊,其中包括了該檔案的權限和歸屬等參數。

/etc目錄和/etc/passwd檔案都屬于root使用者、root組;而第一個字段的資料表示該檔案或目錄的通路權限,“drwxr-xr-x”和“-rw-r--r--”權限字段由四部分組成。

第1個字元:表示該檔案的類型,可以是d(目錄)、b(塊裝置檔案)、c(字元裝置檔案)、“-”(普通檔案)、字母“|”(連結檔案)等;

第2~4個字元:表示該檔案的屬主使用者(user)對該檔案的通路權限。

第5~7個字元:表示該檔案的屬組内各成員使用者(Group)對該檔案的通路權限。

第8~10個字元:表示其他任何使用者(Other)對該檔案的通路權限。

權限字元r、w、x用于檔案表示可讀、可寫、可執行。

r、w、x權限字元可分别表示為八進制數字4、2、1,表示一個權限組合時需要将數字進行累加;例如“rwx”采用累加數字形式表示成“7”,而“rwxr-xr-x”由三個權限段組成,是以表示為“755”。

chmod [ugoa...] [+-=] [rwx] 檔案或目錄...或者chmod nnn 檔案或目錄...

“ugoa”表示該權限設定所針對的使用者類型。“u”代表檔案屬主,“g”代表檔案屬組内的使用者,“o”代表其他任何使用者,“a”代表所有使用者。

“+-=”表示設定權限的操作動作。“+”代表增加相應權限,“-”代表減少相應權限,“=”代表僅設定對應的權限。

“rwx”是權限的字元組合形式,也可以拆分使用;

chmod指令的“-R”選項遞歸修改指定目錄下的所有子項的歸屬;

chown指令可以隻設定屬主和屬組,也可以同時設定屬主、屬組。

chown 屬主[:[屬組]] 檔案或目錄...

同時設定屬主、屬組時,使用者名群組名之間用冒号“:”進行分隔。如果隻設定屬組時,需使用“:組名”的形式;

如果隻需要設定目錄或檔案的屬主,直接以使用者名表示歸屬即可,遞歸修改目錄歸屬同樣可以使用“-R”選項。