用户也可以是一个组本身吗?

Fra*_*ung 4 command-line users groups

在我的 Ubuntu 16.04 终端中,以“john”(普通用户)身份登录,我输入:

john@ubuntu-server:~$ groups john
Run Code Online (Sandbox Code Playgroud)

然后输出:

john: john adm ......
Run Code Online (Sandbox Code Playgroud)

所以我想知道 john 怎么可以同时是一个用户和一个组。我真的不明白,我在互联网上找不到令人满意的解释。请赐教,谢谢。

Rav*_*ina 8

创建用户时,会创建一个同名组,并设置为新创建用户的主组。

您可以了解您的主要组名使用的是什么:

id -gn
Run Code Online (Sandbox Code Playgroud)

定义哪个组是您的主要组所在的文件:/etc/passwd,运行以下命令以获取与您的用户对应的行:

getent passwd $USER
Run Code Online (Sandbox Code Playgroud)

它应该看起来像:

username:x:1000:1000:Your Name,,,:/home/username:/bin/bash
Run Code Online (Sandbox Code Playgroud)

注意第二个 (1000),它是您的主要用户的组 ID。

或找出您的用户所属的群组:

id -Gn
Run Code Online (Sandbox Code Playgroud)

该文件包含有关组所在组的详细信息:/etc/group,此命令应显示有关用户主要组的详细信息:

grep "^$USER" /etc/group
Run Code Online (Sandbox Code Playgroud)

与...一样:

getent group $USER
Run Code Online (Sandbox Code Playgroud)

结果如下:

groupname:x:1000:
Run Code Online (Sandbox Code Playgroud)

还记得之前的 1000 吗?这是在 中已设置为您的主要组的组 ID /etc/passwd

然后,当您创建新文件时,它们将由您的用户和您的主要组(与您的用户名相同,并且只有一个用户是该组的成员,也就是您的用户)拥有。