天天看點

Linux基礎之使用者和使用者組的基本操作

任何作業系統,都必須有的一種功能那就是對使用者的管理,還有就是權限,畢竟如果所有的權限一樣的話,那麼其使用者管理的意義似乎也就沒有什麼用。

使用者組,這個概念為什麼存在,因為友善管理者将相同權限的使用者分在一個組裡面,将其對組的賦予的權限會自動賦予給組下的使用者。

而本篇隻會設計使用者和使用者組的添加等操作,暫時不涉及賦予權限,而權限會再單獨寫一章,因為個人覺得篇幅小适合閱讀。(以centos7示範)

使用者

添加使用者

還是先看其參數以及作用

參數 作用
-c<備注> 加上備注的資訊 會儲存再passwd檔案中
-d<登入目錄> 其實路徑,也是再home檔案夾下,如果不寫預設會在home下建立一個與使用者名一樣的檔案夾
-e<有效日期> 指定使用者的使用時間 日期格式yyyy-mm-dd
-f<緩存天數> 是在密碼過期後多少天關閉該賬戶
-g<群組> 指定使用者所屬的組,如果不寫系統回自動建立一個和使用者名一樣的使用者組,将該使用者放入。也稱之為主組,每個使用者必有一個主組。
-G<附加組> 如果主組無法滿足使用者的權限的時候,可以建立一個附加組,一個使用者可以有0到多個附加組。當然加入附加組也會擁有附加組的權限
-m 自動建立使用者的登入目錄。不寫預設是-m
-M 不要自動建立使用者的登入目錄。
-n 取消建立以使用者名稱為名的群組。
-r 建立系統帳号。
-u 指定使用者ID。一般預設是唯一的不可以有相同的,如果用了-o 就是例外
-s 指定使用者登入後所使用的shell。
建立使用者的賬戶,必須有建立使用者的權限
# 添加一個使用者 test (下圖示範home下test登入目錄)
useradd test


# 如果添加一個使用者test1,登入目錄為test2
useradd -d /home/test2  test1   



#建立兩個uid 号一樣的使用者
useraddd -ou 10001 test
useradd  -ou  1000a test1


           
Linux基礎之使用者和使用者組的基本操作

可以看出在home下生成一個test目錄,也就是test登入目錄。

這個地方可能會有一個疑問為什麼部位使用者test,建立一個密碼。

useradd是無法給使用者賦予密碼,這個需要另一個指令passwd

修改密碼

上面添加使用者的時候,發現沒有辦法設定密碼,因為用root賬戶建立的test,如果切換su test 直接切換了,而且無論是不是有密碼,都不需要輸入密碼。

因為root賬戶已經是最高權限了,是以在切換其他任何賬戶的時候都不允許輸入密碼。

現在看一下其常用的一些參數,以及其作用。

-d 删除密碼
-f 強迫使用者下次登入必須修改密碼
-w 密碼到期提前警告的天數
-k 更新隻能發送在過期之後
-l 停止賬戶使用
-S 顯示密碼資訊
-u 啟用已被停的賬戶
-x 指定密碼最長存活期
-g 修改群組密碼
-i 密碼過期後多少天停止使用者
#給上面建立的test賬戶 建立密碼1234
passwd test 
然後會出現提示輸入密碼,和再次輸入密碼驗證

# 删除 test賬戶的密碼
passwd -d test


           

删除使用者

有添加使用者和修改使用者密碼,自然也會有删除使用者的指令,那就是userdel

這個指令最常用的是兩個,一個帶參數一個不帶參數,直接示範了。

#删除使用者test。但是不删除home下的登入目錄(一般會用使用者名命名)
userdel  test

#删除使用者test。同時删除home下的登入目錄(一般會用使用者名命名)
userdel -r test
           

補充

有時候會看某個使用者的詳細資訊,需要用到一個指令id

# 查詢test的使用者的所在群組或附加群組的名稱

id test


           
Linux基礎之使用者和使用者組的基本操作

看圖檔也可以

可以看每個使用者名在賦予名字的時候也會賦予一個uid。

使用者ID,唯一辨別一個系統使用者的帳号,uid在系統中是唯一的。uid相當于一個人的身份證,使用者名就相當于這個人的名字。(如果使用了-o參數例外。gid 對于使用者組也是類似的意思不在後序。)

uid 其約定:

  • 0 超級管理者 – 最高權限,有着極強的破壞能力
  • 1~200 系統使用者 – 用來運作系統自帶的程序,預設已建立
  • 201~999 系統使用者 – 用來運作安裝的程式,是以此類使用者無需登入系統
  • 1000+ 普通使用者 – 正常可以登入系統的使用者,權限比較小,能執行的任務有限

使用者修改

管理者建立使用者随着時間的推移發現需要修改,這個是一個必有的需求。是以linux指令也自然不能缺少。

指令是usermod。

還是先看一下其常用的參數以及作用

參數 作用
-c <備注> 修改使用者的不備注資訊
-d <登入目錄> 修改使用者的登入目錄
-e 修改帳号的有效期限。
-f<緩沖天數> 修改在密碼過期後多少天内關閉賬戶
-g <群組> 修改使用者所屬的群組。
-G<群組> 修改使用者所屬的附加群組
-l<帳号名稱> 修改使用者帳号名稱。
-L 鎖定使用者密碼,使密碼無效。
-u 修改使用者uid
-U 解除密碼鎖定。
# 修改使用者test 所在的組testgroup  到所在的組testgroup1
usermod  -g testgroup1  test

# 修改使用者test 所在的附加組testgroup2。現在為test再添加一個附加組 testgroup3
usermod -G testgroup2,testgroup3   test

           

使用者組

建立使用者組

使用者組友善對擁有相同權限的使用者的進行管理而存在的,其指令是groupadd

看一下其常用的參數以及作用

參數 作用
-g 指定建立的工作組的gid
-r 建立系統工作組,系統工作組的gid小于500
-K 覆寫配置檔案 “/ect/login.defs”
-o -允許添加組 ID 号不唯一的工作組。
#建立一個使用者組test
groupadd  test

#建立gid 相同的兩個使用者組
group -og 10001 test
group -og 10001 test1

           

删除使用者組

# 删除使用者組test
groupdel  test  #倘若該群組中仍包括某些使用者,則必須先删除這些使用者後,方能删除群組。

           

使用者組修改

使用者組修改的指令是groupmod,現在我們看一下其具體的參數

參數 作用
-g 修改群組的gid
-o 可重複使用gid
-n<群組新名> 修改群組的名
# 修改test組名字為test1
groupmod  -n test1  test

           

補充

前面再檔案目錄與作用中說的,etc檔案存儲的是linux中配置的資訊,比如賬戶密碼等資訊。是以這些資訊自然也可以字/etc/passwd、 /etc/shadow、/etc/group 檔案中有顯示

使用者的配置檔案

/etc/passwd,這個檔案如果看起名字以為密碼配置檔案,其實使用者配置檔案,記錄使用者的各種資訊。

cat -n   /etc/passwd  |  grep test
           
Linux基礎之使用者和使用者組的基本操作

依次對應的含義:**使用者名:密碼(x 代表加密了不顯示):uid:gid:注釋:登入目錄:登入shell **

密碼的配置我呢見

/etc/shadow是密碼配置檔案

cat -n   /etc/shadow  |  grep test
           
Linux基礎之使用者和使用者組的基本操作

依次對應的含義:**使用者名:加密後的密碼(空表示沒有設定密碼):最後依次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:标志 **

組的配置檔案

/etc/group記錄了組的資訊。

cat -n   /etc/group  |  grep test
           
Linux基礎之使用者和使用者組的基本操作

依次對應的含義:組名:密碼:gid:組内使用者清單

繼續閱讀