1. 程式人生 > >Linux基礎之(七)使用者及使用者組

Linux基礎之(七)使用者及使用者組

使用者及使用者組

Linux作業系統是一個多使用者、多工的作業系統,可以同時允許多使用者登入並使用,為解決多使用者之間的許可權問題,Linux作業系統提供了完善的使用者及使用者組管理功能。

使用者及使用者組的概念

Linux作業系統允多使用者同時登陸,每個使用者都需要有自己的“隱私空間”,未經允許其他使用者不能訪問或修改檔案內容。而對於一個團隊來說,許多檔案或目錄是共享在“公共空間”的,使用者屬於該團隊時,就可以訪問共享的檔案,而不在該團隊的使用者,則不可以訪問,因此產生了使用者組。
Linux作業系統中,可以包含多個使用者組,比如使用者組1和使用者組2;每個使用者組可以包含多個使用者,比如使用者組1包含有使用者A和使用者B;每個使用者可以屬於多個使用者組,比如使用者A可以同時屬於使用者組1和使用者組2。
通常使用者與使用者、使用者組與使用者組之間未經允許並不能訪問或修改其他人的檔案或目錄,但是root使用者作為Linux作業系統的終極管理員,可以檢視並修改任何使用者、使用者組的檔案內容,所以在使用root賬戶時需要特別小心,尤其要防止誤刪系統檔案,造成系統崩潰。

使用者識別符號

當登入Linux作業系統時,需要輸入使用者名稱和密碼,賬號名稱是在建立使用者時指定的一串英文字元,以方便使用者記憶。而在Linux作業系統中,會給該賬號分配一個唯一的數字ID進行儲存。該ID號和賬號名稱是一一對應的,該ID號被稱為UID(UserID)。類似的每個使用者組也都有屬於自己的使用者組ID,稱為GID(GroupID)。賬號和ID對應的關係儲存在“/etc/passwd”和“/etc/group”兩個檔案中。可以通過檢視這兩個檔案來確定使用者的ID號,如下所示。

#檢視使用者組GID
[email protected]:~$ cat /etc/group
root:x:0:
..
....省略 avahi:x:122: colord:x:123: geoclue:x:124: gdm:x:125: #名為os的使用者組的ID號為1000 os: x: 1000: #使用者組名 密碼 GID sambashare:x:126:os #檢視使用者UID [email protected]:~$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin ......省略 gdm:x:120:125:Gnome Display Manager:/var/lib/gdm3:/bin/false #名為os的使用者ID號為1000,注意和使用者組的區別
os: x: 1000: 1000:OS,,,:/home/os:/bin/bash #使用者名稱 密碼 ID GID cups-pk-helper:x:121:116:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin

在前面內容中,經常會用到“ls -l”命令來檢視檔案的屬性,其中屬性中包含了使用者和組名稱,實際上在儲存檔案屬性時,這兩項內容儲存的是UID及GID兩項數字,而不是使用者名稱或使用者組名,在顯示屬性時,系統會查詢“/etc/passwd”和“/etc/group”兩個檔案,將UID和GID翻譯成相對應的使用者名稱和使用者組名顯示。