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