Linux 中查詢某個(gè)組中所有用戶的三種方法
我們之前介紹過如何在 Linux 中列出所有用戶,今天我們分享的內(nèi)容與之類似,如何在列出某個(gè)組中的所有用戶。
大家應(yīng)該都知道組和用戶的概念,在Linux中可以有多個(gè)組和用戶,一個(gè)組中包含多個(gè)用戶,一個(gè)用戶也可以是多個(gè)組的成員。我們可以查詢某個(gè)用戶所屬的組,也可以查詢組中所有的用戶。
以下為查找組中所有用戶的三種方法。
1、利用 /etc/group 文件列出組中的用戶
Linux 系統(tǒng)中組的信息包含在 /etc/group 文件中,所以我們可以通過查看此文件中的內(nèi)容來查看組成員的信息。
通常,該文件有如下格式的內(nèi)容:
以下為各字段的說明:
- adm 為組名稱;
- x 代表密碼字段(當(dāng)然你不會(huì)看到明文的密碼);
- 4 是組的ID即GID;
- syslog 和 gliu 是屬于組 adm 中的用戶。
如果你覺著手動(dòng)查看文件內(nèi)容比較麻煩,可以 借助 grep 和 cut 命令來搜索文件內(nèi)容:
上面的命令查找以指定組名稱開頭的所有行,然后 cut 命令提取以冒號(hào) : 分割的第四列,其結(jié)果就是組成員的名稱:
2、使用 getent 命令列出Linux中的組成員
getent 是個(gè)多用途的命令,用于查詢 /etc 目錄中的數(shù)據(jù)庫文件,因此我們可以使用它來查詢 /etc/group 文件,并按以下方式獲取指定組的用戶:
這樣將會(huì)現(xiàn)實(shí)與組名稱匹配的行,即組的成員:
3,使用 members 命令列出組中的用戶
有一個(gè)很簡(jiǎn)潔的命令行工具即 members 命令,可以列出特定組中所有成員,這個(gè)操作過程也很簡(jiǎn)單。
不過通常情況下,members 命令不會(huì)默認(rèn)安裝在所有系統(tǒng)中,因此我們需要手動(dòng)安裝: 在基于 Debian/Ubuntu 的系統(tǒng)上,可以使用以下命令進(jìn)行安裝:
如果在 Ubuntu 中找不到該命令,則需要啟用 universe 存儲(chǔ)庫并重試。關(guān)于 Ubuntu 中存儲(chǔ)庫的啟用禁用,可參考:
??https://itsfoss.com/ubuntu-repositories/??
命令安裝完成后,就可以按如下方式運(yùn)行:
比如,要查看哪些用戶具有 sudo 訪問權(quán)限,可以按如下方式使用 members 命令:
這樣將會(huì)列出 sudo 組中所有的用戶:
以上就是本次分享的列出組中所有用戶的三種方法。