在Linux上如何檢查用戶所屬組詳解
將用戶添加到現(xiàn)有組是 Linux 管理員的常規(guī)活動之一。這是一些在大環(huán)境中工作的管理員的日?;顒印?/p>
甚至我會因為業(yè)務(wù)需求而在我的環(huán)境中每天都在進行這樣的活動。它是幫助你識別環(huán)境中現(xiàn)有組的重要命令之一。
此外,這些命令還可以幫助你識別用戶所屬的組。所有用戶都列在 /etc/passwd 中,組列在 /etc/group 中。
無論我們使用什么命令,都將從這些文件中獲取信息。此外,每個命令都有其獨特的功能,可幫助用戶單獨獲取所需的信息。
什么是 /etc/passwd?
/etc/passwd 是一個文本文件,其中包含登錄 Linux 系統(tǒng)所必需的每個用戶信息。它維護有用的用戶信息,如用戶名、密碼、用戶 ID、組 ID、用戶 ID 信息、家目錄和 shell。passwd 每行包含了用戶的詳細信息,共有如上所述的 7 個字段。
$ grep "daygeek" /etc/passwd daygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash
什么是 /etc/group?
/etc/group 是一個文本文件,用于定義用戶所屬的組。我們可以將多個用戶添加到單個組中。它允許用戶訪問其他用戶文件和文件夾,因為 Linux 權(quán)限分為三類:用戶、組和其他。它維護有關(guān)組的有用信息,例如組名、組密碼,組 ID(GID)和成員列表。每個都在一個單獨的行。組文件每行包含了每個組的詳細信息,共有 4 個如上所述字段。
這可以通過使用以下方法來執(zhí)行。
- groups: 顯示一個組的所有成員。
- id: 打印指定用戶名的用戶和組信息。
- lid: 顯示用戶的組或組的用戶。
- getent: 從 Name Service Switch 庫中獲取條目。
- grep: 代表“全局正則表達式打印global regular expression print”,它能打印匹配的模式。
什么是 groups 命令?
groups 命令打印每個給定用戶名的主要組和任何補充組的名稱。
$ groups daygeek daygeek : daygeek adm cdrom sudo dip plugdev lpadmin sambashare
如果要檢查與當(dāng)前用戶關(guān)聯(lián)的組列表。只需運行 groups 命令,無需帶任何用戶名。
$ groups daygeek adm cdrom sudo dip plugdev lpadmin sambashare
什么是 id 命令?
id 代表 “身份identity”。它打印真實有效的用戶和組 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)的組列表。只運行 id 命令,無需帶任何用戶名。
$ 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 庫支持的數(shù)據(jù)庫中的條目,它們在 /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)的組名稱,請在上面的命令中使用 awk。
$ getent group | grep daygeek | awk -F: '{print $1}' adm cdrom sudo dip plugdev lpadmin daygeek sambashare
運行以下命令僅打印主群組信息。
$ getent group daygeek daygeek:x:1000:
什么是 grep 命令?
grep 代表 “全局正則表達式打印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)的組名稱,請在上面的命令中使用 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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對本站的支持。
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。