一、用戶和組的相關概念
帳號的概念和分類
帳號:是一種用來記錄單個用戶或是多個用戶的數據。Linux中每一個合法的用戶都必須要擁有帳號,才能使用 。它不僅可以用來驗證用戶身份,還決定了一個用戶在系統中可以從事什麼工作
在Linux 上的帳號可以分成兩類:
用戶帳號 用來儲存單一用戶的數據,你可以使用一個用戶帳號,來儲存某一個用戶的數據。
群組帳號 用來儲存多個用戶的信息,每一個群組帳號可以用來記錄一組用戶的數據。
我們可以把 Linux 的所有帳號依照下面兩種方法進行分類:
依照帳號的位置。
依照帳號的功能。
依照帳號的位置
帳號數據存放在不同的地方,其可使用的範圍就會不太一樣,帳號的使用範圍我們稱為視野。依照帳號儲存的位置與視野不同,我們可以區分本機帳號與網域帳號兩種:
本機帳號: 儲存於本機硬碟中的帳號數據,我們稱為本機帳號。本機帳號使用範圍局限在帳號建立的 Linux 系統上,如果超出範圍時,本機帳號將無法使用。比如你在自己電腦上登錄用的帳號和密碼,正常是無法在其它的電腦上使用的。
本機帳號的優點是簡單易用,你無須作額外的設置,就可以直接建立本機帳號;但缺點則是無法具備延展性(Scalability)。比如你在一個擁有很多主機的環境中,想擁有一個在每台主機都可以登錄的帳號時,你就需要在所有的主機上都建立相關的用戶
網域帳號: 你也可以把大量的計算機組織成為一個網域,然後在網域中的某一台 Linux 上建立帳號數據,並且通過某些通信協議,將帳號數據分享出來。當其他計算機需要取得帳號數據時,再通過網絡調用這些分享的帳號即可。這種帳號我們稱為網域帳號 (Domain Account)。
網域帳號的優點在於具備延展性。在大規模的環境中,使用網域帳號往往能節省管理帳號的時間;但網域帳號也有缺點,其最大的缺點就是要配置網域帳號前,你必須先建立「域」的環境才行。
依照帳號的功能
不管是本機帳號或是網域帳號,我們還可以把所有帳號依照功能分成下面幾類
用戶帳號部分:包含了超級用戶、普通用戶;而普通用戶中還可細分為系統用戶、真實用戶兩種。
超級用戶: 在Linux 系統上擁有完整的控制能力,常被稱為系統管理員,在 系統上擁有完整的控制能力,你可以利用超級用戶讀取或寫入 上任何文件、安裝或刪除軟硬體、啟動或停止服務,甚至關機與停止系統的執行。 通常只有在管理系統時才會使用超級用戶帳號登錄,所以超級用戶常被稱為系統管理員 (System Administrator)。由於超級用戶的權限不受任何限制,你可以使用該帳號來管理 系統;但是,也可能因為操作錯誤,或者打錯命令而造成無法挽救的傷害。在此,強烈建議你「除非有必要,否則請不要輕易以超級用戶身份使用 Linux」!
在 Linux 系統中,超級用戶的用戶名稱通常為 root,其 UID(用戶ID號)一定為 0。
普通用戶帳號:行為能力會受到限制,只能調用具備權限的文件,如果沒有足夠的權限,普通用戶是完全無法調用的;所以,普通用戶帳號不太容易危害 Linux 系統。普通用戶帳號中,我們又可分為兩大類:
系統帳號
這種類型的帳號僅提供給Linux 系統本身使用。在某些軟體執行的時候,需要你提供一個普通用戶類型的帳號。為了滿足這些軟體而建立的帳號,我們稱為系統帳號 (System Account)。
真實用戶
系統用戶帳號是給軟體或程序使用的,那麼,什麼帳號是讓我們登錄Linux 時使用的呢?答案就是真實用戶(Real User)。真實用戶帳號是為了讓其他人登錄系統使用的
群組帳號部分:包含了超級用戶群組、系統群組以及用戶自定義組三大類。
超級用戶群組:Linux 有一個叫做 root 的群組,因為這個群組的名稱與 root 這個超級用戶的名稱相同,所以,我們習慣把 root 群組叫做超級用戶群組。超級用戶群組的 GID 為 0。
系統群組: 與系統帳號一樣,系統群組是給 Linux 系統本身,或是某個軟體所使用
用戶自定義組: 除了上述的群組外其餘的所有群組,皆是由管理者自行定義,因此我們把這些群組稱之為用戶自定義組
另外,Linux 系統的「用戶自定義組「類型中,還有一種名為用戶私有群組 (UPG, User Private Group)的群組。什麼是 「用戶私有群組」呢?用戶私有群組(UPG, User Private Group)是指 「與用戶帳號名稱相同,且為用戶的主要群組」的群組。當你建立新的用戶帳號時,Linux 會自動建立該用戶的私有群組。如,當你建立 test 這個用戶帳號時,Linux 會自動建立了一個名為 test 的群組,並且讓 test群組成為 test 用戶帳號的主要群組,test 群組即是 test 的私有群組。
了解完帳號的基本概念後,我們一起來看下帳號到底記錄了哪些信息