主頁(yè) > 知識(shí)庫(kù) > 在Linux上如何檢查用戶所屬組詳解

在Linux上如何檢查用戶所屬組詳解

熱門標(biāo)簽:電銷機(jī)器人價(jià)值 如何分析地圖標(biāo)注 外呼系統(tǒng)坐席費(fèi)計(jì)入會(huì)計(jì)哪個(gè)科目 新余高德地圖標(biāo)注怎么修改 大連400電話如何申請(qǐng) 電銷機(jī)器人怎么接線路 高德地圖標(biāo)注好做嗎 達(dá)亞電銷機(jī)器人官網(wǎng) 撫順地圖標(biāo)注

前言

將用戶添加到現(xiàn)有組是 Linux 管理員的常規(guī)活動(dòng)之一。這是一些在大環(huán)境中工作的管理員的日常活動(dòng)。

甚至我會(huì)因?yàn)闃I(yè)務(wù)需求而在我的環(huán)境中每天都在進(jìn)行這樣的活動(dòng)。它是幫助你識(shí)別環(huán)境中現(xiàn)有組的重要命令之一。

此外,這些命令還可以幫助你識(shí)別用戶所屬的組。所有用戶都列在 /etc/passwd 中,組列在 /etc/group 中。

無(wú)論我們使用什么命令,都將從這些文件中獲取信息。此外,每個(gè)命令都有其獨(dú)特的功能,可幫助用戶單獨(dú)獲取所需的信息。

什么是 /etc/passwd?

/etc/passwd 是一個(gè)文本文件,其中包含登錄 Linux 系統(tǒng)所必需的每個(gè)用戶信息。它維護(hù)有用的用戶信息,如用戶名、密碼、用戶 ID、組 ID、用戶 ID 信息、家目錄和 shell。passwd 每行包含了用戶的詳細(xì)信息,共有如上所述的 7 個(gè)字段。

$ grep "daygeek" /etc/passwd
daygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash

什么是 /etc/group?

/etc/group 是一個(gè)文本文件,用于定義用戶所屬的組。我們可以將多個(gè)用戶添加到單個(gè)組中。它允許用戶訪問(wèn)其他用戶文件和文件夾,因?yàn)?Linux 權(quán)限分為三類:用戶、組和其他。它維護(hù)有關(guān)組的有用信息,例如組名、組密碼,組 ID(GID)和成員列表。每個(gè)都在一個(gè)單獨(dú)的行。組文件每行包含了每個(gè)組的詳細(xì)信息,共有 4 個(gè)如上所述字段。

這可以通過(guò)使用以下方法來(lái)執(zhí)行。

  • groups: 顯示一個(gè)組的所有成員。
  • id: 打印指定用戶名的用戶和組信息。
  • lid: 顯示用戶的組或組的用戶。
  • getent: 從 Name Service Switch 庫(kù)中獲取條目。
  • grep: 代表“全局正則表達(dá)式打印global regular expression print”,它能打印匹配的模式。

什么是 groups 命令?

groups 命令打印每個(gè)給定用戶名的主要組和任何補(bǔ)充組的名稱。

$ groups daygeek
daygeek : daygeek adm cdrom sudo dip plugdev lpadmin sambashare

如果要檢查與當(dāng)前用戶關(guān)聯(lián)的組列表。只需運(yùn)行 groups 命令,無(wú)需帶任何用戶名。

$ groups
daygeek adm cdrom sudo dip plugdev lpadmin sambashare

什么是 id 命令?

id 代表 “身份identity”。它打印真實(shí)有效的用戶和組 ID。打印指定用戶或當(dāng)前用戶的用戶和組信息。

$ id daygeek
uid=1000(daygeek) gid=1000(daygeek) groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)

如果要檢查與當(dāng)前用戶關(guān)聯(lián)的組列表。只運(yùn)行 id 命令,無(wú)需帶任何用戶名。

$ id
uid=1000(daygeek) gid=1000(daygeek) groups=1000(daygeek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)

什么是 lid 命令?

它顯示用戶的組或組的用戶。顯示有關(guān)包含用戶名的組或組名稱中包含的用戶的信息。此命令需要管理員權(quán)限。

$ sudo lid daygeek
 adm(gid=4)
 cdrom(gid=24)
 sudo(gid=27)
 dip(gid=30)
 plugdev(gid=46)
 lpadmin(gid=108)
 daygeek(gid=1000)
 sambashare(gid=124)

什么是 getent 命令?

getent 命令顯示 Name Service Switch 庫(kù)支持的數(shù)據(jù)庫(kù)中的條目,它們?cè)?/etc/nsswitch.conf 中配置。

$ getent group | grep daygeek
adm:x:4:syslog,daygeek
cdrom:x:24:daygeek
sudo:x:27:daygeek
dip:x:30:daygeek
plugdev:x:46:daygeek
lpadmin:x:118:daygeek
daygeek:x:1000:
sambashare:x:128:daygeek

如果你只想打印關(guān)聯(lián)的組名稱,請(qǐng)?jiān)谏厦娴拿钪惺褂?awk。

$ getent group | grep daygeek | awk -F: '{print $1}'
adm
cdrom
sudo
dip
plugdev
lpadmin
daygeek
sambashare

運(yùn)行以下命令僅打印主群組信息。

$ getent group daygeek
daygeek:x:1000:

什么是 grep 命令?

grep 代表 “全局正則表達(dá)式打印global regular expression print”,它能打印文件匹配的模式。

$ grep "daygeek" /etc/group
adm:x:4:syslog,daygeek
cdrom:x:24:daygeek
sudo:x:27:daygeek
dip:x:30:daygeek
plugdev:x:46:daygeek
lpadmin:x:118:daygeek
daygeek:x:1000:
sambashare:x:128:daygeek

如果你只想打印關(guān)聯(lián)的組名稱,請(qǐng)?jiān)谏厦娴拿钪惺褂?awk。

$ grep "daygeek" /etc/group | awk -F: '{print $1}'
adm
cdrom
sudo
dip
plugdev
lpadmin
daygeek
sambashare

via: https://www.2daygeek.com/how-to-check-which-groups-a-user-belongs-to-on-linux/

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:南通 湖南 楊凌 新鄉(xiāng) 遼源 衡水 海東 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Linux上如何檢查用戶所屬組詳解》,本文關(guān)鍵詞  在,Linux,上,如何,檢查,用戶,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Linux上如何檢查用戶所屬組詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于在Linux上如何檢查用戶所屬組詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章