Linux中使用命令管理用戶賬戶

一、用戶賬戶配置文件

用戶賬戶配置文件路徑:/etc/passwd

文件中每一行對應一個用戶的賬號記錄,每一行有7段,段與段之間是用:分隔,每一段的意思如下:

字段1:用戶帳號的名稱

字段2:用戶密碼字串或者密碼佔位符"x"

字段3:用戶帳號的UID號

字段4:所屬基本組帳號的GID號

字段5:用戶全名

字段6:宿主目錄

字段7:登陸shell信息

備註:UID(User Identify,用戶標識號)

            GID(Group Identify,組標識號)

 

二、用戶密碼存儲文件

作用:用於保存密碼字串、密碼有效期等信息

文件路徑:/etc/shadow

文件中每一行對應一個用戶的密碼記錄,每一行有9段,段與段之間有:分隔,每一段的意思如下:

字段1:用戶賬號的名稱

字段2:加密的密碼字符串(!起始,代表賬號不得登陸系統)

字段3:上次修改密碼的時間(從1970.1.1起始至現在)

字段4:密碼的最短有效天數,默認值爲0

字段5:密碼的最長有效天數,默認值爲99999

字段6:提前多少天警告用戶口令將過期,默認值爲7(-1表示不警告)

字段7:在密碼過期之後多少天禁用此用戶(-1表示永遠不禁用)

字段8:帳號被禁用天數,默認值爲空(-1表示賬戶被啓用)

字段9:保留字段(未使用)

三、創建用戶賬戶

格式:useradd   [選項]   用戶名

常用命令選項

-u:指定UID標記號

-d:指定宿主目錄,缺省爲/home/用戶名

 -e:指定賬戶失效時間

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

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

-M:不爲用戶建立並初始化宿主目錄

-s:指定用戶的登陸Shell

 

1、新建一個用戶

cat命令查看新建的用戶

備註:(1)、默認新建用戶UID標記號爲500,上圖中之所以我新建的用戶admin的UID爲502,是因爲在這之前我新建了兩個用戶,所以再新建用戶時,就會按照500的爲開始的UID號遞增;

           (2)、如果沒有表明GID,那麼GID默認等於UID;

           (3)、新建賬戶時,會在/home目錄下自動生成一個跟賬戶名一樣的文件夾,如/home/admin這個文件夾,這個文件夾中的一些配置文件是從/etc/skel目錄中複製而來的,如以下幾個配置文件:

~/.bash_profile:用戶每次登錄時執行;

~/.bashrc:每次進入新的Bash環境時執行;

~/.bash_logout:用戶每次退出登錄時執行;

用ls -a命令可以查看賬戶文件夾中這些配置文件

.gnome2文件夾是針對於桌面環境設置的

.mozilla文件夾是針對於火狐瀏覽器設置的

 

2、新建賬戶時,同時指定UID標記號

cat命令查看新建的用戶

備註:如果指明瞭新建用戶的UID,如果再新建用戶時,新建的用戶UID默認以/etc/passwd文件中最大的UID基礎上遞增,如再新增一個用戶testadmin,它的UID會默認爲801,如下圖所示

 

3、新建用戶時,同時指名宿主目錄

cat命令查看新建的用戶,宿主目錄就變爲/home/fileA了

用ls命令查看/home目錄時,就多了一個fileA文件夾

 

4、新建用戶時,同時設置用戶失效時間

用cat命令查看新建用戶密碼信息,下圖中的18260-18003就是它的失效時間,18003是1970.1.1到系統當前時間的天數

 

5、新建用戶時,指定基本組名和附加組名

也可以直接用組名

用id命令查看賬號信息,因爲只有這個命令才能查看到附加組名

 

6、一般情況下,只要新建一個賬戶,/home下就有一個同名的賬戶的文件夾,如果用-M,就不需要在/home下建一個同名的賬戶文件夾了,如新建一個test5賬戶

 

7、默認新建賬戶是可以登陸系統的,Shell爲/bin/bash,如果新建一個賬戶不讓它登陸系統,Shell可以用/sbin/nologin

備註:當新建賬戶後,沒有給賬戶設置密碼,這個賬戶是不可以登陸系統的,一旦給賬戶設置了密碼就可以登陸系統,但是如果新建賬戶時設置了/sbin/nologin,賬戶就不可以登陸系統。

四、設置用戶密碼

格式:passwd  [選項]  用戶名

常用命令選項

-d:清空用戶的密碼,使之無需密碼即可登陸

-l:鎖定用戶賬戶

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

-u:解鎖用戶賬戶

 

1、設置賬戶admin的密碼

用cat命令查看賬戶密碼文件

2、鎖定admin賬戶

3、查看賬戶的狀態

4、解鎖賬戶

查看賬戶狀態

備註:SHA512,用cat命令查看賬戶密碼文件時,如果賬戶的密碼是以$6開頭的加密字符串,那麼這串加密的字符串採用的是SHA的加密算法後得到512位的加密字符串。

5、如果直接用passwd命令,那麼更改的是當前登陸賬戶的密碼

上圖中當前登陸賬戶是root

 

五、修改用戶賬號的屬性

格式:usermod  [選項]  用戶名

常用命令選項

-l:更改用戶賬號的登陸名稱

-L:鎖定用戶賬戶

-U:解鎖用戶賬戶

-u:修改UID標記號

-d:修改宿主目錄,缺省爲/home/用戶名

 -e:修改賬戶失效時間

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

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

-s:修改用戶的登陸Shell

備註:1、-L、-U這兩個命令選項與passwd命令中的-l、-u選項含義相同;

           2、-u、-d、-e、-g、-G、-s選項與useradd命令中選項含義相同;

 

1、將admin賬號名改爲pp

cat命令查看賬戶,可以看到賬戶文件中沒有admin這個賬號了,取而代之的是pp這個賬號,賬戶文件中除了將admin賬號改爲pp賬號,其餘不改變(UID、GID、宿主目錄等等都不改變)

 

六、刪除用戶賬號

格式:userdel  [-r]  用戶名

添加-r選項時,表示連用戶的宿主目錄一併刪除

如果要刪除test這個賬號,加-r選項後,在/home目錄下已經沒有test這個文件夾了

 

七、創建組賬號

格式:groupadd   [-g GID]   組賬號名

添加-g選項時,表示創建組賬號時,同時指定組GID號,如果沒有指定GID,就默認以/home/group文件中最大的GID號開始遞增

 

八、添加、刪除組成員

格式:gpasswd   [選項]   組賬號名

常用命令選項

-a:向組內添加一個用戶

-d:從組內刪除一個用戶成員

-M:定義組成員列表,以逗號分隔

 

1、將test2用戶添加到testadmin組內

用id命令查看test2賬戶屬性,可以看到test2賬戶中多了一個附加組testadmin

2、將test2賬戶從testadmin組內刪除

3、將賬號test2、test3、test4、test5加到testadmin組內

備註:(1)修改賬戶時,也可以直接用vim /etc/group命令,直接修改group文件;

           (2)/etc/group 是保存組賬號基本信息

八、刪除組賬號

格式:groupdel  組賬號

備註:如果一個組是用戶賬號的基本組,那麼是不可以刪除的

用cat命令查看組賬戶,查看到組賬戶testgroup的GID是900

用cat命令查看用戶賬號,查看到用戶賬號中peopletest的GID也是900,也就是說peopletest的基本組是testgroup

那麼這個時候來刪除組賬戶testgroup,是無法刪除的

九、常用查詢用戶和組賬號的命令

1、查詢用戶身份標識

格式:id  [用戶名]

2、查詢用戶所屬的組

格式:groups  [用戶名]

3、查詢已登陸到主機的用戶信息

users、w、who都可以來查詢已登陸到主機的用戶信息,只不過查詢出來的內容有些區別

十、圖形界面也可以用來管理用戶與組賬戶

步驟如下圖:

可以用於添加用戶或組賬戶,也可以對用戶或組賬戶進行修改刪除,如果有圖形界面,那麼管理賬戶比用命令行要直觀一些

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章