日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux查看群组所属用户,linux 列出用户所属的所有群组的5种方法

發布時間:2024/3/12 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux查看群组所属用户,linux 列出用户所属的所有群组的5种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

列出用戶所屬的所有群組的5種方法

在研究5種方法之前,讓我們首先了解一些基本知識:

將用戶添加到現有組是Linux管理員的典型任務之一。

群組是用戶的集合。群組的主要目的是為群組中的成員定義一組特權。

如果要為一組沒有組的多個用戶分配一組特權,這可能是一項艱巨的任務。這是該小組派上用場的地方。

/ etc / passwd文件中列出了所有系統用戶,/ etc / group文件中列出了組,而實際密碼存儲在/ etc / shadow文件中。

無論我們使用什么命令,它都會從這些文件中獲取信息。

Linux中有兩種類型的組:

初級組

中學組

什么是小學組?

主要組是與用戶帳戶關聯的主要組。每個用戶必須是單個主要組的成員。

什么是中學組?

次要或補充組用于向用戶授予其他權限。每個用戶都可以成為多個輔助組的成員。

什么是/ etc / passwd文件

“ / etc / passwd”是一個文本文件,其中包含登錄Linux系統所需的每個用戶信息。它維護有關用戶的有用信息,例如用戶名,密碼,用戶ID,組ID,用戶信息,主目錄和Shell。

密碼文件中的每個用戶配置文件都是一行,其中包含七個字段,如下所示:

$ grep "daygeek" /etc/passwd

daygeek:x:1000:1000:daygeek,,,:/home/daygeek:/bin/bash

什么是/ etc / group文件

“ / etc / group”是一個文本文件,用于定義用戶所屬的組。我們可以在同一組中添加多個用戶。

Linux具有三個權限級別,這些權限級別定義了用戶如何訪問它。這些級別是 user,group和others,它們控制一個用戶對其他用戶的文件和文件夾的訪問。

/ etc / group文件維護有關組的有用信息,例如組名,組密碼,組ID(GIT)和成員資格列表。每個組的詳細信息在一行中顯示為四個字段,如下面列出的“方法5”所示。

以下七個命令將幫助您找出Linux中用戶所屬的組。

groups:顯示組中的所有成員。

id:打印指定用戶名的用戶和組信息。

lid or libuser-lid:它顯示用戶的組或組的用戶。

getent:從名稱服務交換庫中獲取條目。

compgen:compgen是bash內置命令,它將為用戶顯示所有可用命令。

members:列出組的成員。

/etc/group file 同樣,我們可以從/ etc / group文件中grep相應的用戶組。

現在,讓我們深入研究5種方法,這些方法可用于查找用戶在Linux中所屬的組的列表:

方法1:使用組命令

Linux管理員廣泛使用’groups’命令列出用戶所屬的所有組。它將打印給定用戶的主要和補充組的信息,如下所示:

$ groups daygeek

daygeek : daygeek adm cdrom sudo dip plugdev lpadmin sambashare

運行不帶任何參數的“ groups”命令以顯示與當前用戶關聯的組列表,如下所示:

$ groups

daygeek adm cdrom sudo dip plugdev lpadmin sambashare

方法2:使用id命令

id命令代表身份。它打印出真實有效的用戶,組和補充組信息,例如用戶名,UID,組名和GUID,如下所示:

$ 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)

只需運行“ 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)

方法3:使用lid命令

lid或libuser-lid命令顯示有關包含用戶名的組的信息,這需要sudo特權。

$ sudo libuser-lid daygeek

adm(gid=4)

cdrom(gid=24)

sudo(gid=27)

dip(gid=30)

plugdev(gid=46)

lpadmin(gid=116)

daygeek(gid=1000)

sambashare(gid=126)

您應該在較新的系統上運行libuser-lid命令而不是lid。

方法4:使用getent命令

getent命令顯示名稱服務交換機庫支持的數據庫中的條目,這些數據庫在“ /etc/nsswitch.conf”中配置:

$ getent group | grep daygeek

adm:x:4:syslog,daygeek

cdrom:x:24:daygeek

sudo:x:27:daygeek,2gadmin

dip:x:30:daygeek

plugdev:x:46:daygeek

lpadmin:x:116:daygeek

daygeek:x:1000:

sambashare:x:126:daygeek

上面的命令顯示了組名以及與該組關聯的所有其他成員。使用以下自定義的命令格式可以僅打印給定用戶的組:

$ getent group | grep daygeek | awk -F: '{print $1}'

adm

cdrom

sudo

dip

plugdev

lpadmin

daygeek

sambashare

運行以下命令,僅打印用戶的主要組信息:

$ getent group daygeek

daygeek:x:1000:

方法5:使用“ / etc / group”文件

可以使用grep命令從“ / etc / group”文件中過濾用戶組信息,如下所示:

$ grep daygeek /etc/group

adm:x:4:syslog,daygeek

cdrom:x:24:daygeek

sudo:x:27:daygeek,2gadmin

dip:x:30:daygeek

plugdev:x:46:daygeek

lpadmin:x:116:daygeek

daygeek:x:1000:

sambashare:x:126:daygeek

使用以下自定義的命令格式可以僅打印給定用戶的組:

$ grep daygeek /etc/group | awk -F: '{print $1}'

adm

cdrom

sudo

dip

plugdev

lpadmin

daygeek

sambashare

提示1:使用compgen命令找出所有組

Compgen是bash內置命令,顯示Linux系統中的所有組:

$ compgen -g

root

daemon

bin

sys

adm

.

.

daygeek

thanu

renu

sudha

admin

u1

u2

提示2:使用member命令列出組中的成員

該成員的命令可以讓你在Linux中的一組列表成員:

$ members sudo

daygeek 2gadmin

開心洋蔥 , 版權所有丨如未注明 , 均為原創丨未經授權請勿修改 , 轉載請注明linux 列出用戶所屬的所有群組的5種方法!

總結

以上是生活随笔為你收集整理的linux查看群组所属用户,linux 列出用户所属的所有群组的5种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。