Answers:
该groups
命令列出了用户当前所属的组,而不是系统上所有可用的组。您可以使用getent
命令按名称或GID查找组。
getent group oinstall
getent group 500
要显示所有组,只需将搜索查询保留在命令之外:
getent group
您可以使用列出群组,getent
如果不存在,请查看/etc/group
运行命令时,GID是输出中的第三个值,例如:
$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:
因此,仅列出组名及其GID,可使用如下所示awk
打印所需的列:
$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
另请参见http://man7.org/linux/man-pages/man1/getent.1.html
在getent
不存在的情况下。
$ grep $group /etc/group
GID是输出中的第三个值。例如
$ grep users /etc/group
users:x:100:
在上面,组用户的GID是100。要仅获取组名和GID,可以使用awk和grep,如下所示:
$ cat /etc/group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22
请注意,对于设置为使用外部身份验证的系统(例如LDAP),/ etc / group文件中不会存在所有组。另请参见http://www.cyberciti.biz/faq/understanding-etcgroup-file/
/etc/group
。它们可以存储在NIS,LDAP等中
getent group
。
groups
命令一起显示。