我想检索特定组名称的组 ID。 Linux/UNIX 系统中是否有命令可以执行此操作?另外,如果我想以另一种方式做到这一点 - 从组 ID 获取组名称,这也可能吗?
getent group 124
# mysql:x:124:
getent group mysql
# mysql:x:124:
给定 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
您可以使用以下命令:
awk -F\: '{print "Group " $1 " with GID=" $3}' /etc/group | grep "group-name"
或
cat /etc/group | grep group-name
其中
group-name
是您要搜索的组。
python -c "import grp; print(grp.getgrnam('groupname').gr_gid)"
这使用了
getgrnam
来自
https://man7.org/linux/man-pages/man3/getgrnam.3.html.