我想要获取特定组名的组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('carmenes').gr_gid)"
这使用了来自https://man7.org/linux/man-pages/man3/getgrnam.3.html 的 getgrnam
函数。
id
命令的 man 手册说明最后一个参数是用户名,因此使用 id -g foo
可以显示用户 "foo" 的主要组名称。 - CDuv
)
。 - K. Bogdan