Linux 是多用戶多任務操作系統,換句話說,Linux 系統支持多個用戶在同一時間內登陸,不同用戶可以執行不同的任務,並且互不影響。
例如,某台 Linux 服務器上有 4 個用戶,分別是 root、www、ftp 和 mysql,在同一時間內,root 用戶可能在查看系統日志、管理維護系統;www 用戶可能在修改自己的網頁程序;ftp 用戶可能在上傳軟件到服務器;mysql 用戶可能在執行自己的 SQL 查詢,每個用戶互不干擾,有條不紊地進行着自己的工作。與此同時,每個用戶之間不能越權訪問,比如 www 用戶不能執行 mysql 用戶的 SQL 查詢操作,ftp 用戶也不能修改 www 用戶的網頁程序。
不同用戶具有不問的權限,毎個用戶在權限允許的范圍內完成不間的任務,Linux 正是通過這種權限的划分與管理,實現了多用戶多任務的運行機制。
因此,如果要使用 Linux 系統的資源,就必須向系統管理員申請一個賬戶,然后通過這個賬戶進入系統(賬戶和用戶是一個概念)。通過建立不同屬性的用戶,一方面可以合理地利用和控制系統資源,另一方面也可以幫助用戶組織文件,提供對用戶文件的安全性保護。
每個用戶都有唯一的用戶名和密碼。在登錄系統時,只有正確輸入用戶名和密碼,才能進入系統和自己的主目錄。
用戶組是具有相同特征用戶的邏輯集合。簡單的理解,有時我們需要讓多個用戶具有相同的權限,比如查看、修改某一個文件的權限,一種方法是分別對多個用戶進行文件訪問授權,如果有 10 個用戶的話,就需要授權 10 次,那如果有 100、1000 甚至更多的用戶呢?
顯然,這種方法不太合理。最好的方式是建立一個組,讓這個組具有查看、修改此文件的權限,然后將所有需要訪問此文件的用戶放入這個組中。那么,所有用戶就具有了和組一樣的權限,這就是用戶組。
將用戶分組是 Linux 系統中對用戶進行管理及控制訪問權限的一種手段,通過定義用戶組,很多程序上簡化了對用戶的管理工作。
Linux用戶和組的關系
用戶和用戶組的對應關系有以下 4 種:
- 一對一:一個用戶可以存在一個組中,是組中的唯一成員;
- 一對多:一個用戶可以存在多個用戶組中,此用戶具有這多個組的共同權限;
- 多對一:多個用戶可以存在一個組中,這些用戶具有和組相同的權限;
- 多對多:多個用戶可以存在多個組中,也就是以上 3 種關系的擴展。
用戶和組之間的關系可以用圖 1 來表示:
圖 1 Linux 用戶和組
linux命令查看:
cat /etc/passwd 查看所有用戶信息
cat /etc/group 查看所有組信息
groups 用戶名 查看當前用戶所在組,以及組內其它成員的信息