1. 程式人生 > 實用技巧 >Linux 學習筆記04丨Linux的使用者和使用者組管理

Linux 學習筆記04丨Linux的使用者和使用者組管理

Chapter 3. 使用者和使用者組管理

由於Linux系統是一個多使用者多工的分時作業系統,任何一個要使用系統資源的使用者,都必須首先向系統管理員申請一個賬號,然後以該賬號身份進入系統。

3.0 使用者與使用者組相關資訊

  • 使用者名稱:代表使用者賬號的字串,最好不好包含.-+開頭,不能含義:
  • 口令:存放加密後的使用者口令字,真正的加密後的使用者口令字存放在/etc/shadow檔案中,而在/etc/passwd檔案的口令欄位只存放一個特殊的字元,如'x''*'
  • 使用者標識號:一般而言,它與使用者名稱是一一對應,但若幾個使用者名稱對應的使用者標識號是一樣的,系統內部將把它們視為同一個使用者,但它們可以擁有不同口令、不同主目錄及不同的登入Shell等。
  • 註釋性描述:存放的是一段任意的註釋性描述文字。

使用者的基本屬性存放在/etc/passwd檔案中,使用者組的所有資訊都存放在/etc/group檔案中。

3.1 使用者賬號的管理

以下指令,若遇到這類提示,一般需要管理員的許可權,即$ sudo ....

3.1.0 切換與檢視

  • 檢視使用者的id:

    $ id [使用者名稱]
    
  • ⭐️切換使用者的身份:

    $ su [選項] [使用者名稱]
    

    常用選項:

    • -:代表連帶使用者的環境變數一同切換。

      普通使用者切換至root使用者需要輸入密碼;root使用者切換普通使用者無需密碼。

3.1.1 新增新的使用者賬號

語法格式為:

$ useradd 選項 使用者名稱

選項有:

  • -d:指定使用者的家目錄,若此目錄不存在,則需同時使用 -m 選項建立主目錄

  • -c:(commend)指定一段註釋性描述

  • -g:指定使用者所屬的使用者組

  • -G:指定使用者所屬的附加組

  • -s:指定使用者的登入Shell

  • -u:指定使用者的UID

執行許可權:root

$ sudo useradd -s /bin/sh -g group -G adm,root Nami
#新建使用者Nami,登入Shell為/bin/sh,屬於group使用者組(作為主組),又屬於adm和root使用者組

增加使用者賬號就會在/etc/passwd

檔案中為該新使用者增加一條記錄,同時更新其他系統檔案如/etc/shadow/etc/group等。

3.1.2 管理使用者的密碼

語法格式為:

$ passwd 選項 使用者名稱

選項有:

  • -l:暫時鎖定使用者,使其不能登入

  • -u:解鎖使用者

  • -S:查詢使用者密碼的密碼狀態

執行許可權:root

修改使用者密碼:

#root使用者可修改任何使用者的密碼
$ sudo passwd Zoro
#普通使用者只能修改自己的密碼,同時命令會詢問普通使用者的原口令
$ sudo passwd

3.1.3 修改使用者的資訊

語法:

$ usermod 選項 使用者名稱

修改使用者賬號即是根據實際情況更改使用者的有關屬性。

執行許可權:root

選項:(基本上與 useradd 命令對應選項一致)

  • -u [UID]:修改使用者的UID號
  • -c [使用者說明]:修改使用者的說明資訊
  • -G [組名]:修改使用者的附加組
  • -l [新使用者名稱稱]:修改使用者的名稱
$ usermod -s /bin/ksh -d /home/z -g developer Sam

3.1.4 刪除使用者賬號

語法:

$ userdel 選項 使用者名稱

常用選項為:

  • -r:將使用者的主目錄一同刪除
$ userdel -r tom
#此命令刪除使用者tom在系統檔案中(如/etc/passwd,/etc/shadow等)的記錄,同時刪除使用者的主目錄

3.2 使用者組的管理

每個使用者均有使用者組,系統可對一個使用者組中的所有使用者進行集中管理。

使用者屬於與它同名的使用者組,該使用者組在建立使用者時同時建立了。

3.2.1 增加新的使用者組

語法:

$ groupadd 選項 使用者組

可使用的選項:

  • -g:指定新使用者組的組標識號(GID);
  • -o:一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同
$ groupadd -g 101 group2

3.2.2 修改使用者組

語法:

$ groupmod 選項 使用者組

可使用的選項:

  • -g:為使用者組指定新的組標識號。
  • -o:一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同
  • -n:將使用者組的名字改為新名字
$ groupmod -g 10000 -n group3 group2
#組group2的標識號改為10000,且組名修改為group3

3.2.3 刪除使用者組

語法:

$ groupmod 使用者組