据我所知,groups
命令和id
命令都应该在其输出中显示用户的辅助组。但就我而言,输出彼此不同:
$ id <username>
uid=1000(username) gid=1000(username) groups=1000(username)
$ groups
username adm cdrom sudo dip plugdev lpadmin sambashare libvirt
我正在使用 Ubuntu 版本 18.04.1。
我还检查了该/etc/group
文件,但没有看到该groups
命令显示的与指定用户名相关的组的任何条目。它实际上不应该是该文件中用户名映射的辅助组信息吗?我期望在组名称旁边cdrom
看到我用于 groups 命令的用户名!
如果有帮助,该命令的输出ps -o egid,rgid,pid,ppid,cmd | grep bash
为:
1000 1000 30061 29959 /bin/bash
1000 1000 31747 30061 grep --color=auto bash
更新:我检查了未指定用户名的命令的输出id
显示了与该命令类似的所有组,groups
但执行指定用户名的相同命令id username
不会显示其他组。在命令的手册页中id
它说。
id [OPTION]...[USER] 打印指定 USER 或(当 USER 省略时)当前用户的用户和组信息。
在这种情况下,它应该是相同的输出,因为它是关于同一个用户的。