Linux雲計算架構-用戶及用戶組管理

Linux雲計算架構-用戶及用戶組管理

在生產環境中,大多數時候使用RHEL7或者其他的linux系統時,都可能是有多人同時操作。而設計linux系統的初衷即是爲了滿足多用戶同時工作的需求

root用戶:擁有最高的系統所有權,能夠管理系統的各項功能,如添加/刪除用戶、啓動/關閉服務進程、開啓/禁用硬件設備等。

若直接使用root用戶,若執行了錯誤的命令,很可能直接使得整個系統崩潰。

故建議以普通用戶給的身份登錄系統:即擁有能滿足工作需求的最小權限的用戶。

對系統的每個用戶而言,都要爲其登記信息,其用戶ID即是UID,還要登記其所屬組IDGID

在RHEL7中,用戶身份有:

  • 管理員:系統管理員,UID=0,常見的UID=0的用戶名爲root用戶,故常把root用戶稱作是系統管理員。
  • 系統用戶:Linux系統爲了避免因某個服務程序出現漏洞而影響到整臺服務器,默認服務程序會有獨立的系統用戶負責運行,進而有效控制系統被破壞的範圍。UID=1~999【系統用戶用於運行服務,不會用來登錄系統】
  • 普通用戶:由管理員創建的用於日常工作的用戶。UID>=1000。【UID的範圍並不代表UID在0<UID<1000的用戶就一定不是普通用戶,僅僅只是這樣分類比較好】

權限的分配可以按照用戶(每個人)分配,也可以按照所屬組(部門)進行分配。

每個用戶在創建的時候,默認會創建同名的基本用戶組,自成一組。若該用戶加入其他組,那麼其他組就是該用戶的拓展用戶組。一個用戶只有一個基本用戶組,但可以有多個拓展用戶組。

1. 用戶管理命令

1. 查看用戶信息

id 用戶名
在這裏插入圖片描述

2. 添加用戶

useradd命令

參數 作用
-d 指定家目錄
-e 賬戶到期時間,YYYY-MM-DD
-M 不創建用戶家目錄,常用於系統用戶
-u uid
-g 指定一個已存在的基本用戶組,不指定默認創建同名基本用戶組
-G 指定一個或多個拓展用戶組
-N 不創建同名基本用戶組
-s 指定shell解釋器
-p 指定用戶密碼,默認無密碼,且賬戶密碼被鎖定

在這裏插入圖片描述

# 從以下命令可以看出,adduser也是可以添加用戶的,是useradd的軟連接,知道即可。
[root@master ~]# which useradd 
/usr/sbin/useradd
[root@master ~]# which adduser
/usr/sbin/adduser
[root@master ~]# ll /usr/sbin/useradd
-rwxr-x---. 1 root root 118232 10月 31 2018 /usr/sbin/useradd
[root@master ~]# ll /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 6月  23 17:47 /usr/sbin/adduser -> useradd

3. 添加組

命令:groupadd [-g] group_name
不指定gid,則gid默認從10000開始,可以通過/etc/group文件查看gid
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4. 修改用戶信息

usermod命令
命令useradd中的參數都可以使用,作用都變爲重置爲或者變更
補充參數:
-L:鎖定用戶,禁止登錄系統
-U:解鎖用戶,允許其登錄系統
-d -m:參數連用,變更家目錄並做數據遷移
-p:設置用戶密碼並解鎖用戶密碼
在這裏插入圖片描述
將shell解釋器修改爲/bin/bash後,用戶linux2已經可以登錄系統了。
可通過命令passwd -S 用戶名查看用戶是否被鎖住。
在這裏插入圖片描述

5. 修改組信息

groupmod命令

修改基本用戶組linux1的gid
groupmod -g 5555 linux1
在這裏插入圖片描述
在這裏插入圖片描述

6. 刪除用戶

userdel命令
查看文件/etc/passwd,有以下無用的用戶要刪除。
在這裏插入圖片描述
-r:刪除用戶的同時,刪除該用戶家目錄和用戶文件。
在這裏插入圖片描述
在這裏插入圖片描述

7. 刪除組

groupdel命令
若一個組是某一個用戶的基本用戶組,則不允許刪除該組。
groupdel 組名

8. 用戶密碼設置

passwd命令

  • 管理員用戶可以修改所有人的密碼,不需要舊密碼驗證。
  • 普通用戶只能修改自己的密碼,需要舊密碼驗證。
參數 作用
-S 查看用戶是否被鎖定以及密碼採用的加密算法名稱
-l 密碼鎖定
-u 密碼解鎖
-d 允許空密碼登錄
-e 強制下次登陸要修改密碼
–stdin 允許通過標準輸入修改用戶密碼【echo "123456" | passwd --stdin abong

9. 修改設置密碼的時間

[root@master ~]# chage
用法:chage [選項] 登錄

選項:
  -d, --lastday 最近日期        將最近一次密碼設置時間設爲“最近日期”
  -E, --expiredate 過期日期     將帳戶過期時間設爲“過期日期”
  -h, --help                    顯示此幫助信息並推出
  -I, --inactive INACITVE       過期INACTIVE天數後,設定密碼爲失效狀態
  -l, --list                    顯示帳戶年齡信息
  -m, --mindays 最小天數        將兩次改變密碼之間相距的最小天數設爲“最小天數”
  -M, --maxdays 最大天數        將兩次改變密碼之間相距的最大天數設爲“最大天數”
  -R, --root CHROOT_DIR         chroot 到的目錄
  -W, --warndays 警告天數       將過期警告天數設爲“警告天數”


# 設置0天后要修改密碼,即下次登錄就修改密碼
[root@master ~]# chage -d 0 abong

10. 其他命令

# id 用戶和組的信息
[root@master ~]# id abong
uid=1000(abong) gid=1000(abong)=1000(abong)

# whoami #查看當前有效用戶名
[root@master ~]# whoami
root

# who 顯示目前登入系統的用戶信息。
[root@master ~]# who
root     :0           2020-07-02 18:56 (:0)
root     pts/0        2020-07-02 18:57 (:0)

# users用於顯示當前登錄系統的所有用戶的用戶列表
[root@master ~]# users
root root

2. 常見用戶文件

  • /etc/passwd:存放用戶信息【一行由7個部分,其中口令只是一個描述符,不是真實的密碼。】
    用戶名:口令:uid:gid:註釋信息:家目錄:shell解釋器

  • /etc/shadow:存放用戶的密碼【權限是000,但是root除外】【一行由9個部分組成,其中加密口令是指經過md5加密的口令】
    用戶名:加密口令:最後一次修改時間:密碼修改的最小時間間隔(不能改):密碼修改的最大時間間隔(必須改):警告時間:不活動時間:失效時間:標誌

  • /etc/group:存放用戶的組信息
    組名:密碼:gid:用戶列表

  • /etc/default/useradd:存放創建用戶的默認參數值,一般不修改該文件。

    # 創建用戶的默認配置文件
    [root@master ~]# cat /etc/default/useradd 
    # useradd defaults file
    GROUP=100   # users組ID爲100
    HOME=/home  # 默認在該目錄下創建家目錄
    INACTIVE=-1  # 密碼是否會過期,-1則會過期
    EXPIRE=   # 密碼過期時間
    SHELL=/bin/bash  # 用戶默認的shell
    SKEL=/etc/skel  # 模板目錄
    CREATE_MAIL_SPOOL=yes  # 是否創建郵箱文件
      
    [root@master ~]# cat /etc/group | grep users
    users:x:100:
    
  • /etc/login.defs:存放創建用戶的一些默認參數值,一般不修改該文件。

3. 批量創建用戶

  1. 編輯文本用戶文件,格式與/etc/passwd相同,後綴爲txt,如user.txt
    在這裏插入圖片描述

  2. 以root用戶執行newusers < user.txt,執行之後可在/etc/passwd中看到用戶信息
    在這裏插入圖片描述在這裏插入圖片描述

  3. 執行pwunconv命令。【/etc/passwd中的口令通過pwconv命令加密成爲/etc/shadow中的加密口令,而pwunconv可將/etc/shadow中的加密口令解碼回寫入/etc/passwd對應的密碼中】【即取消shadow password功能】
    在這裏插入圖片描述
    在這裏插入圖片描述

  4. 編輯密碼對照文件,格式:用戶名:密碼,後綴爲txt,如passwd.txt
    在這裏插入圖片描述

  5. 以root用戶執行chpasswd < passwd.txt,即將密碼通過chpasswd命令寫入到文件/etc/passwd中,可查看該文件進行檢查,此時的密碼未加密。
    在這裏插入圖片描述
    在這裏插入圖片描述

  6. 執行pwconv命令。【對/etc/passwd文件中的密碼進行加密處理,並寫入到/etc/shadow文件中,而/etc/passwd中的口令再次變成變符號x】
    在這裏插入圖片描述在這裏插入圖片描述

  7. 從下圖可以看出,新添加的用戶user1和user2已經可以正常登錄使用了。
    在這裏插入圖片描述

以上就是用戶以及用戶組管理的全部內容了,感謝各位的關注和點贊!!!

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