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 怎么可以同时是一个用户和一个组。我真的不明白,我在互联网上找不到令人满意的解释。请赐教,谢谢。
创建用户时,会创建一个同名组,并设置为新创建用户的主组。
您可以了解您的主要组名使用的是什么:
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。
然后,当您创建新文件时,它们将由您的用户和您的主要组(与您的用户名相同,并且只有一个用户是该组的成员,也就是您的用户)拥有。