Linux:如何从组名获取组ID?反之亦然?

问题描述 投票:0回答:5

我想检索特定组名称的组 ID。 Linux/UNIX 系统中是否有命令可以执行此操作?另外,如果我想以另一种方式做到这一点 - 从组 ID 获取组名称,这也可能吗?

linux bash
5个回答
86
投票
getent group 124
# mysql:x:124:

getent group mysql
# mysql:x:124:

33
投票

给定 gid,以下是获取组名称的方法:

getent group GID | cut -d: -f1

给定组名称,我们得到 gid:

getent group groupname | cut -d: -f3

更新

可以使用 bash 内置函数来代替

cut
: 例如,获取组 ID 123 的组名称。

groupid=123 IFS=: read GROUP_NAME REST <<<`getent group $groupid` echo $GROUP_NAME


5
投票

您可以使用以下命令:

awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep "group-name"

cat /etc/group | grep group-name

其中

group-name
是您要搜索的组。


2
投票
python -c "import grp; print(grp.getgrnam('groupname').gr_gid)"

这使用了

getgrnam
来自 https://man7.org/linux/man-pages/man3/getgrnam.3.html.


-7
投票

我看到here您可以使用

id
命令分别从组名或用户名中获取gid或uid。

id -u username

id -g groupname
© www.soinside.com 2019 - 2024. All rights reserved.