1. 程式人生 > >Linux使用者管理、增加、刪除使用者及使用者組

Linux使用者管理、增加、刪除使用者及使用者組

1.使用者管理概念

(1)使用者管理的範圍

使用者帳號管理

組帳號管理

使用者/組帳號的許可權管理

使用者帳號的環境設定

(2)Linux系統使用者管理特點

多使用者平臺(ALT+F1--12)

單使用者模式中無需使用者

管理方法有兩種:命令、圖形工具

2.使用者帳號的管理

(1)使用者帳號的分類

超級使用者(UID=0):具有一切系統操作許可權

普通使用者(UID=500—MAXUID預設值60000):操作許可權受到限制

系統使用者(UID=1—499):限制了本機登入(只用於遠端登入,建立使用者時不會建立本地使用者配置檔案)

注:使用者的UID的取值,除0以外,其它值不允許使用者取相同的值

(2)使用者帳號包含的資訊

使用者名稱:使用者的字元

口令(密碼):

UID:使用者唯一識別符號

GID:使用者組的唯一識別符號

所屬組

使用者主目錄:使用者登入的初始目錄

SHELL型別:設定SHELL程式的種類

3.使用者資料檔案

(1)/etc/passwd

root:x:0:0:root:/root:/bin/bash
檔案內每一行有七項,每一項使用:分開,代表的意思如下:

帳號名稱:帳號名稱由於對應使用者ID,這個是系統預設使用者root超級管理員,在同一個系統帳號名稱是唯一的,長度根據不同的linux系統而定,一 般是8位。

密碼:由於系統中還有一個/etc/shadow檔案用於存放加密後的口令,所以在這裡這一項是“x”來表示,如果使用者沒有設定口令,則該項為空。

使用者ID:這個是系統內部用於來識別不同的使用者的,不同的使用者識別碼不同,其中使用者ID有以下幾種:

0代表系統管理員,如果你想建立一個系統管理員的話,可以建立一個普通帳戶,然後將該賬戶的使用者ID改為0即可。

1-500系統預留的ID,500以上是普通使用者使用。

組ID:其實這個和使用者ID差不多,用來規範群組,他與/etc/group有關。

描述資訊:這個欄位幾乎沒有什麼作用,只是用來解釋這個帳號的意義。

使用者根目錄:就是使用者登入系統的起始目錄,使用者登入系統後將首先進入該目錄。root使用者預設的是/root,普通使用者的是/home/使用者名稱。

使用者登入shell:就是使用者登入系統時使用的shell。

(2)/etc/shadow

root:$1$FXBbE7XS$R6pHjFcX5j31k5gsEnEdi1:15456:0:99999:7:::
檔案內每一行有九項,每一項使用:分開,代表的意思如下:

帳戶名稱:和passwd對應,和passwd的意思相同。

密碼:這才是真正的密碼,並且已經加密過了,只能看到一些特殊符號。需要注意的是這些密碼很難破解。還有密碼欄的第一個字元為“*”表示這個使用者不用來登入,如果那個使用者不想讓他登入了,可以在他前面加個*號。

上次改動密碼的日期:這段記錄了改動密碼的最後日期,為什麼是15456呢?這是因為linux計算日期的方法是以1970年1月1日作為1,1971年1月1日就是366,依次類推到我修改密碼的日期表示為15456。

密碼不可被改動的天數:由於害怕密碼被人盜取而危害到整個系統的安全,所以安排了這個欄位,你必須在這個時間內重新修改密碼,否則這個帳號將暫時失效。上面的99999,表示密碼不需要重新輸入,最好設定一段時間修改密碼。確保系統安全。

密碼變更期限前的警告天數:當帳號的密碼失效期限快到時,系統依據這個欄位的設定發出警告,提醒使用者“再過n天您的密碼將過期,請儘快重新設定密碼。預設的是七天。

密碼失效期:密碼過期後的帳號寬限時間,過了這個期限使用者還未更改密碼,那該密碼就算過期了。密碼過期後的帳號還是可以用來進行其他工作(包括登陸系統取得bash),如果密碼過期了,當你登陸系統,系統會強制你更改密碼才能繼續使用,這是密碼過期特性。

帳號失效期:如果使用者過了警告期沒有重新輸入密碼,使得密碼失效,而該使用者在這個欄位限定的時間內又沒有向管理員反映,讓帳號重新啟用,那麼這個帳號將暫時失效。

帳號取消日期:這個日期跟第三個欄位一樣,都是使用1970年以來的日期設定方法。這個欄位表示:這個帳號在此欄位規定的日期之後將無法再使用。這個欄位通常用於收費服務系統中,可以規定一個日期讓該帳號不能再使用。

保留:最後一個欄位是保留的,看以後有沒有新功能加入。

(3)/etc/group

root:x:0:root
檔案內每一行有四項,每一項使用:分開,代表的意思如下:

群組名稱:就是群組的名稱了。

群組密碼:通常不需設定,因為我們很少使用群組登入。不過這個密碼也被記錄在/etc/gshadow中了。

群組ID:也就是組ID了。

支援帳號的名稱:這個群組的所有帳號。如果你想讓使用者屬於root這個群組,就在第一行最後加上“,username(使用者名稱)”注意新增的時候沒有空格。

4.使用者管理命令

(1)增加使用者

#useradd [-u UID] [-g 群組名稱] [-G 額外群組名稱] [-mM] [-c使用者註釋] [-d 使用者主目錄] [-s shell] 使用者名稱
-c      comment	        使用者的註釋。
-d      home-dir	用來取代預設的 /home/ username 主目錄(使用者主目錄)。
-e      date	        禁用賬號的日期,格式為:YYYY-MM-DD
-f      days	        口令過期後,賬號禁用前的天數(若指定了 0 ,賬號在口令過期後會被立刻禁用。若指定了 -1 ,口令過期後,賬號將不會被禁用)。
-g      group-name	新使用者預設組群的組群名或組群號碼(該組群在指定前必須存在)。
-G      group-list	新使用者是其中成員的額外組群名或組群號碼(預設以外的)列表,用逗號分隔(組群在指定前必須存在)。
-m	若主目錄不存在則建立它。
-M	不要建立主目錄。
-n	不要為使用者建立使用者私人組群。
-r	建立一個 UID 小於 500 的不帶主目錄的系統賬號。
-p      password	為新使用者使用加密的口令。
-s	使用者的登入 shell,預設為 /bin/bash 。
-u      uid	        使用者的 UID,它必須是獨特的,且大於 499。
-o      允許新使用者使用已有使用者相同的UID

(2)刪除使用者

#userdel [ -r ]  使用者名稱
-r : 刪除使用者主目錄

(3)設定使用者密碼

#passwd [-l] [-u] [--stdin] [-S] [-n 天數] [-x天數] [-w 天數] [-i 日期]  使用者名稱
-l 鎖使用者
-u 解鎖使用者
-n 天數  密碼不可改天數
-x 天數  密碼過期天數
-w 天數  警告天數
-i 日期  密碼失效日期
-S 列出密碼相關引數 

(4)修改使用者資訊

#usermod  [-cdegGlsuLU]  使用者名稱
-c  備註      修改使用者帳號的備註文字。 
-d  登入目錄  修改使用者登入時的目錄。 
-e  有效期限  修改帳號的有效期限。 
-f  緩衝天數  修改在密碼過期後多少天即關閉該帳號。 
-g  群組      修改使用者所屬的群組。 
-G  群組      修改使用者所屬的附加群組。 
-l  帳號名稱  修改使用者帳號名稱。 
-L  鎖定使用者密碼,使密碼無效。 
-s  shell     修改使用者登入後所使用的shell。 
-u  uid       修改使用者ID。 
-U  解除密碼鎖定

(5)修改密碼引數

#chage [-l][-d 日期][-E 日期][-I 天數][-m 天數] [-M 天數] [-W 天數] 使用者名稱
-l :列出該帳號的詳細密碼引數
-d :日期,修改 shadow 第三項(最近一次更改密碼的日期)格式 YYYY-MM-DD
-E :日期,修改 shadow 第八項(帳號失效日期)格式 YYYY-MM-DD
-I :天數,修改 shadow 第七項(密碼失效日期)
-m :天數,修改 shadow 第四項(密碼最短保留天數)
-M :天數,修改 shadow 第五項(密碼多久需要進行更改天數)
-W :天數,修改 shadow 第六項(密碼過期前的警告日期
(6)檢視/etc/passwd檔案資訊
#finger  [-s]   使用者名稱 
-s  :僅列出使用者的帳號、名稱、終端機器與登陸時間等等
-m  :列出與使用者名稱相同者

5.組管理命令

(1)增加使用者組

#groupadd [-g GID] [-r] 組名
-g :指定GID的值
-r :建立系統使用者組(1-499)
-o :允許新建相同GID的群組
-f :強制執行,預設不允許常見相同GID群組,使用此引數能強制執行,而不是用-o引數

(2)修改使用者組
#groupmod [-g gid] [-n 組名] 組名
-g : 修改已有群組的GID(不要隨意改動GID,容易造成系統資源錯亂)
-n : 修改已有群組的名稱

(3)刪除使用者組
#groupdel  組名

(4)新增/刪除組成員
#gpasswd [-A 使用者名稱] [-M 使用者名稱] [-r] [-R] [-a 使用者名稱] [-d 使用者名稱]  組名
   :不帶引數時,賦予這個群組一個密碼(/etc/gshadow)
-A :指定管理員
-M :指定組成員
-r :刪除密碼
-R :使密碼失效
-a :新增使用者到組
-d :從組中刪除使用者

6.批量新增使用者、修改使用者密碼

(1)批量新增使用者

#newusers   使用者名稱檔案

檔案格式:

使用者名稱:x:UID:GID:使用者說明:使用者的家目錄:所用SHELL
例:
test:x:501:501::/home/test:/sbin/nologin
test1:x:502:502::/home/test1:/sbin/nologin
注:Shell型別
/bin/sh
/bin/bash
/sbin/nologin   虛擬使用者SHELL,無法登陸系統
/bin/ksh
/bin/tcsh
/bin/csh
(2)批量修改使用者密碼
#chpasswd     使用者密碼檔案
密碼檔案格式:
使用者名稱:密碼
例:
test:123456
test1:987654