1. 程式人生 > >Linux常用命令(五)賬號和組管理

Linux常用命令(五)賬號和組管理

linux 用戶 組 常用命令 侯良金

Linux常用命令(五)賬號和組管理

一、管理用戶賬號

1、用戶賬號的分類

超級用戶:root用戶是Linux系統中默認的超級用戶賬號,對本主機擁有最大的權限,類似於Windows 系統中的Administrator用戶。

普通用戶:普通用戶賬號需要由root用戶或其他管理員用戶創建;擁有的權限收到一定限制,一般只 在用戶自己的宿主目錄中擁有完整權限。

程序用戶:在安裝linux系統及部分應用程序時,會添加一些特定的低權限用戶賬號,這些用戶一般 不允許登錄到系統,而僅用於維持系統或某個程序的正常運行。

2、組賬號

基礎某種特定聯系將多個用戶集合在一起,即構成一個用戶組,用於表示該組內所有用戶的賬號稱為組賬號。每一個用戶賬號至少屬於一個組,這個組稱為該用戶的基本組(或私有組);若該用戶同時還包括在其他的組中,則這些組稱為該用戶的附加組(或公共組)。

3UIDGID

Linux系統中的每一個用戶賬號都有一個數字形式的身份標記,稱為UID,對於系統核心來說,UID作為區分用戶的基本依據,每個用戶的UID號應該是唯一的。root用戶賬號的UID號為固定值0,而程序用戶賬號的UID號默認為1~499,普通用戶使用的UID號默認為500~60000

二、用戶賬號管理

1、用戶賬號文件

與用戶賬號相關的配置文件主要有兩個,分別是

/etc/passwd/etc/shadow

1.1)、passwd文件

passwd文件主要保存用戶名稱、宿主目錄、登錄Shell等基本信息。在配置文件中,每一行對應一個用戶賬號,不用的配置項之間使用冒號“:”進行分隔。

技術分享

passwd文件的每一行內容中,包含了七個用冒號“:”分隔的配置字段,從左到右各個配置字段的含義分別如下所述。


■第1字段:用戶賬號的名稱,也是登錄系統時使用的識別名稱。

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

■第3字段:用戶賬號的UID號。

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

■第5字段:用戶全名,可填寫與用戶相關的說明信息。

■第6字段:宿主目錄,即該用戶登錄後所在的默認工作目錄。

■第7字段:登錄Shell等信息,用戶完成登錄後使用的Shell


所有用戶都可以訪問passwd文件中的內容,但是只有root用戶才能進行更改。

1.2)、shadow文件中的配置行格式

shadow文件又被稱為“影子文件”,其中保存有各用戶賬號的密碼信息,因此對shadow文件的訪問應該進行嚴格限制。默認只有root用戶能夠讀取文件中的內容,而不允許直接編輯該文件中的內容。

技術分享

■第1字段:用戶賬號名稱

■第2字段:使用MD5加密的密碼字符串信息,當為“*”或“!!”時表示此用戶不能登錄到系統。若 該字段內容為空,則該用戶無需密碼即可登錄系統。

■第3字段:上次修改密碼的時間,表示從19700101日算起到最近一次修改密碼時,間隔的天數。

■第4字段:密碼的最短有效天數,自本次修改密碼後,必須至少經過該天數才能再次修改密碼。默認 值為0,表示不進行限制。

■第5字段:密碼的最長有效天數,自本次修改密碼後,經過該天數以後必須再次修改密碼。默認值 為99999,表示不進行限制。

■第6字段:提前多少天警告用戶口令將過期,默認值為7

■第7字段:密碼過期之後多少天內禁用此用戶。

■第8字段:賬號失效時間,此字段指定了用戶作廢的天數(從19700101日起計算),默認值為 空,表示賬號永久可用。

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

2、添加、修改、刪除用戶賬號

2.1)、useradd命令——添加用戶賬號

useradd  [選項]  用戶名

使用useradd命令添加用戶賬號時主要完成以下幾項任務。

/etc/passwd文件和/etc/shadow文件的末尾增加該用戶賬號的記錄。

若未明確指定用戶的宿主目錄,則在/home目錄下自動創建與該用戶賬號同名的宿主目錄,並在該 目錄中建立用戶的各種初始配置文件。

■ 若沒有明確指定用戶所屬的組,則自動創建與該用戶賬號同名的基本組賬號,組賬號的記錄信息將 保存到/etc/group/etc/gshadow文件中。

useradd命令中幾個常見選項。

–u:指定用戶的UID號,要求該UID號碼未被其他用戶使用。

–d:指定用戶的宿主目錄位置(當與-M一起使用時,不生效)。

–e:指定用戶的賬戶失效時間,可使用“年--日”的日期格式。

–g:指定用戶的基本組名(或使用GID號)

–G:指定用戶的附加組名(或使用GID號)

–M:不建立宿主目錄,即使/etc/login.defs系統配置中已設定要建立宿主目錄。

–s:指定用戶的登錄Shell

2.2)、passwd命令——為用戶賬號設置密碼

通過useradd命令新增用戶賬號以後,還需要為其設置一個密碼才能夠正常使用。使用passwd命令可以設置或修改密碼,root用戶有權管理其他賬號的密碼。例如為zhangsan設置密碼,密碼要輸兩遍,第二遍是確認,要和第一遍一樣。

技術分享


這裏由於設置的密碼為123,所以提示“無效的密碼:過短,過於簡單”但是沒關系,密碼已經設置成功了。正常情況密碼還是應該設置的復雜一點。

使用passwd命令除了可以修改賬號的密碼之外,還能夠對用戶賬號進行鎖定、解鎖,或者也可以將用戶的密碼設置為空(無需密碼即可登錄)。常用選項如下:

–d:清空指定用戶的密碼,僅使用用戶名即可登錄系統。

–l:鎖定用戶賬戶。

–S:查看用戶賬號的狀態(是否被鎖定)

–u:解鎖用戶賬戶。

2.3)、usermod命令——修改用戶賬號屬性

對於系統中已經存在的用戶賬號,可以使用usermod命令重新設置各種屬性。常用參數如下:

–u:修改用戶的UID號。

–d:修改用戶的宿主目錄位置。

–e:修改用戶的賬戶失效時間,格式“年—月—日”

–g:修改用戶的基本組名(或使用GID號)

–G:修改用戶的附加組名(或是用GID號)

–s:指定用戶的登錄Shell

–l:更改用戶賬號的登錄名稱

–L:鎖定用戶賬戶。

–U:解鎖用戶賬戶。

若要修改已有賬號的宿主目錄,需要先將該賬號原有的宿主目錄轉移到新的位置,然後再通過usermod命令設置新的宿主目錄位置。例如,執行以下操作可以將zhangsan用戶的宿主目錄由/home/zhangsan轉移至/zhangsan

技術分享

註意:zhangsan賬號不能處於登錄狀態。


2.4)、userdel命令——刪除用戶賬號

格式為

技術分享

結合“-r”選項可同時刪除宿主目錄。

3.用戶賬號的初始配置文件

添加一個新的用戶賬號後,useradd命令會在該用戶的宿主目錄中建立一些初始配置文件。這些文件來自於賬號模板目錄“/etc/skel,基本上都是影藏文件,較常用的初始配置文件有:

.bashrc_profile:文件中的命令將在該用戶每次登錄時被執行。

.bash_logout:文件中的命令將在用戶每次退出登陸時執行。

.bashrc:文件中的命令會在每次加載“/bin/Bash”程序時(當然也包括登陸系統)執行。

三、組賬號管理

1、組賬號文件

與組賬號相關的配置文件也有兩個,分別是“/etc/group”、“/etc/gpasswd”。前者用於保存組賬號的名稱、GID號、組成員等基本信息,後者用於保存組賬號的加密密碼字串等信息(很少用)

2、添加、刪除、修改組賬號

2.1)、groupadd命令——添加組賬號

需要指定GID號時,可以使用“-g”選項

2.2)、grpasswd命令——添加、設置、刪除組成員

–a:添加一個組成員(用戶寫前邊,組寫後邊)

–d:刪除組中的某一個成員

–M:一次性添加多個用戶到一個組裏邊。

2.3)、groupdel命令——刪除組賬號

當系統中的某個組賬號已經不再使用時,可以使用groupdel命令將該組賬號刪除。


四、查詢賬號信息

1groups命令——查詢用戶賬號所屬的組

使用groups命令可以查看指定的用戶賬號屬於那些組。

技術分享


2id——查詢用戶賬號的身份標識

使用id命令可以快速查看指定用戶賬號的UIDGID等標識信息。

技術分享


3w命令——查詢當前主機的用戶登錄情況

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

技術分享

本文出自 “侯良金” 博客,請務必保留此出處http://houliangjin.blog.51cto.com/13112910/1964209

Linux常用命令(五)賬號和組管理