1. 程式人生 > 其它 >1.8 Linux組的管理

1.8 Linux組的管理

Linux使用者組管理

每一個使用者至少屬於一個組屬於多個組,新建使用者時如果不指定組,就會新建一 個組,組名跟使用者名稱相同 並且把該使用者新增到該組中

cat /etc/group 
# 檢視組群的屬性
# group檔案位於/etc/檔案下,用於存放組群資訊,任何使用者都可以讀取

 

UID和 GID

使用者 ID(User ID,簡稱 UID)

組 ID(Group ID,簡稱 GID)

  • root使用者的UID為: 0

  • 系統使用者的UID是從1到999:

  • 普通使用者的UID可以在建立時由管理員指定

  • 如果不指定使用者的UID預設從1000開始順序編號

  • 普通群組的GID預設也是從1000開始編號

 

建立組groupadd

語法:

groupadd 選項 使用者組

選項與引數:

  • -g GID 指定新使用者組的組標識號(GID)

  • -o 一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同。

# 建立lisi組
groupadd lisi

#一個新組group2,同時指定新組的組標識號是101
groupadd -g 101 group2

 

刪除組groupdel

groupdel lisi # 刪除lisi組

 

修改組屬性groupmod

語法:

groupmod 選項 使用者組

選項與引數:

  • -g GID 為使用者組指定新的組標識號

  • -o 與-g選項同時使用,使用者組的新GID可以與系統已有使用者組的GID相同

  • -n 將使用者組的名字改為新名字

  • -r 取消組的密碼

  • -A 給組指派管理員

 

修改使用者所在的組gpasswd

語法:

gpasswd  使用者名稱 組名
  • -a 將使用者新增到組中

  • -d 將使用者從組中移除

gpasswd -a lisi zu1# 將 lisi 新增到 zu1
gpasswd -d lisi zu1 # 將 lisi 從 zu1 中移除

 

切換組newgrp

如果一個使用者同時屬於多個使用者組,那麼使用者可以在使用者組之間切換,以便具有其他使用者組的許可權。

語法:

newgrp 組名

 

組群檔案

  1. 組群賬號的資訊存放在 /etc/group/.

  2. 在Linux中所建立的使用者賬號及其相關資訊(除密碼外) 都放在/etc/passwd配置 檔案中

  3. 而關於組群管理的資訊(組群口令、組群管理)都放在/etc/gshadoe/檔案中

如何檢視組群檔案

group檔案位於/etc/目錄下,用於存放使用者的組賬號資訊對於該檔案的內容任何使用者都可以讀取

cat /etc/gruop # 檢視組群

格式:

組名:口令:組標識號:組內使用者列表
  1. "組名"是使用者組的名稱,由字母或數字構成。與/etc/passwd中的登入名一樣,組名不應重複

  2. "口令"欄位存放的是使用者組加密後的口令字。一般Linux 系統的使用者組都沒有口令,即這個欄位一 般為空,或者是*

  3. "組標識號"與使用者標識號類似,也是一個整數,被系統內部用來標識組

  4. "組內使用者列表"是屬於這個組的所有使用者的列表/b],不同使用者之間用逗號(,)分隔。這個使用者組可能 是使用者的主組,也可能是附加組

 

使用者資料passwd檔案

/etc/passwd檔案是使用者管理工作涉及的最重要的一個檔案

在Linux中所建立的使用者賬號及其相關資訊(除密碼外) 都放在/etc/passwd配置 檔案中

cat /etc/passwd # 開啟passwd檔案

# 檔案中的每行代表一個使用者賬號的資料,第一個使用者是root,然後是一些標準賬戶,最後1行是由系統管理員建立的普通賬戶

格式:

使用者名稱:口令:使用者標識號:組標識號:使用者的描述資訊:主目錄:登入Shell
  1. "使用者名稱" 是代表使用者賬號的字串。 通常長度不超過8個字元,並且由大小寫字母和/或數字組成。登入名中不能有冒號(:),因為冒號在這裡 是分隔符。 為了相容起見,登入名中最好不要包含點字元(.),並且不使用連字元(-)和加號(+)打頭

  2. “口令” 一些系統中,存放著加密後的使用者口令字。 雖然這個欄位存放的只是使用者口令的加密串,不是明文,但是由於/etc/passwd檔案對所有使用者都可 讀,所以這仍是一個安全隱患。因此,現在許多Linux 系統(如SVR4)都使用了shadow技術,把真正 的加密後的使用者口令字存放到/etc/shadow檔案中,而在/etc/passwd檔案的口令欄位中只存放一個特殊 的字元,例如“x”或者“*”

  3. “使用者標識號” 是一個整數,系統內部用它來標識使用者。 一般情況下它與使用者名稱是一一對應的。如果幾個使用者名稱對應的使用者標識號是一樣的,系統內部將把它們 視為同一個使用者,但是它們可以有不同的口令、不同的主目錄以及不同的登入Shell等。 通常使用者標識號的取值範圍是0~65 535。0是超級使用者root的標識號,1~99由系統保留,作為管理賬 號,普通使用者的標識號從100開始。在Linux系統中,這個界限是500

  4. “組標識號” 欄位記錄的是使用者所屬的使用者組。 它對應著/etc/group檔案中的一條記錄

  5. “使用者的描述資訊” 欄位記錄著使用者的一些個人情況。 例如使用者的真實姓名、電話、地址等,這個欄位並沒有什麼實際的用途。在不同的Linux 系統中,這個 欄位的格式並沒有統一。在許多Linux系統中,這個欄位存放的是一段任意的註釋性描述文字,用做 finger命令的輸出

  6. “主目錄” 也就是使用者的起始工作目錄。它是使用者在登入到系統之後所處的目錄。在大多數系統中,各使用者的主目錄都被組織在同一個特定的目 錄下,而使用者主目錄的名稱就是該使用者的登入名。各使用者對自己的主目錄有讀、寫、執行(搜尋)權 限,其他使用者對此目錄的訪問許可權則根據具體情況設定

  7. 使用者登入後,要啟動一個程序,負責將使用者的操作傳給核心,這個程序是使用者登入到系統後執行的命 令直譯器或某個特定的程式,即Shell

    Shell是使用者與Linux系統之間的介面。Linux的Shell有許多種,每種都有不同的特點。常用的有 sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等

    系統管理員可以根據系統情況和使用者習慣為使用者指定某個Shell。如果不指定Shell,那麼系統使用sh為默 認的登入Shell,即這個欄位的值為/bin/sh。

    使用者的登入Shell也可以指定為某個特定的程式(此程式不是一個命令直譯器)

    利用這一特點,我們可以限制使用者只能執行指定的應用程式,在該應用程式執行結束後,使用者就自動退 出了系統。有些Linux 系統要求只有那些在系統中登記了的程式才能出現在這個欄位中

     

    偽使用者

    系統中有一類使用者稱為偽使用者(pseudo users)

    這些使用者在/etc/passwd檔案中也佔有一條記錄,但是不能登入,因為它們的登入Shell為空。它們的存 在主要是方便系統管理,滿足相應的系統程序對檔案屬主的要求

    常見的偽使用者如下所示:

    偽 用 戶 含 義
    bin 擁有可執行的使用者命令檔案
    sys 擁有系統檔案
    adm 擁有帳戶檔案
    uucp UUCP使用
    lp lp或lpd子系統使用
    nobody NFS使用
  8.