组名如何在创建任何文件时发挥作用?

组名如何在创建任何文件时发挥作用?

如果我创建任何新文件/目录/链接,

sham@mohet01-ubuntu:~$ ls -l
total 48
drwxr-xr-x 3 sham sham 4096 Apr  5 19:03 Desktop
drwxrwxr-x 2 sham sham 4096 Apr  7 11:19 docs
drwxr-xr-x 3 sham sham 4096 Apr  5 18:28 Documents
drwxr-xr-x 2 sham sham 4096 Apr  5 18:56 Downloads
-rw-r--r-- 1 sham sham 8980 Apr  5 10:43 examples.desktop
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Music
drwxr-xr-x 2 sham sham 4096 Apr  5 18:46 Pictures
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Public
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Templates
drwxr-xr-x 2 sham sham 4096 Apr  5 03:46 Videos

我看到组名称为sham。用户sham是这些文件的所有者。

问题:

群组名称如何与所有者名称相同?组名称与所有者名称相同意味着什么?

答案1

用户名和组名存在于两个独立的命名空间中,因此相同的名称不需要暗示任何内容。它只是碰巧具有此名称的组(例如,数字组 ID 可能与数字用户 ID 不同)。

然而,许多Linux发行版在创建新用户帐户的同时创建了新组,并且该组成为该用户的默认组(默认情况下仅包含该用户ID)。所以相同的组和用户名通常(!) 意味着该文件属于仅包含该用户的组。 (但是没有什么可以阻止管理员向该组添加更多用户,甚至创建与同名用户没有任何关系的同名组。)

答案2

在某些 Linux 发行版中这是一个相对较新的事物。组名称是默认为所有新用户创建的“私人组”。

在 Linux 中,需要一个默认组。用户之前已users使用系统 id添加到默认主要组中100。在某些情况下,这是有问题的,因为它提供了对其他用户文件的“组访问权限”,而这并不总是可取的。想象一下奶奶分享您的私人文档和照片等。新的“用户用户”组默认情况下会防止这种情况发生。

现在,默认情况下,在许多发行版中,每个用户都会有自己的私人组来复制他们的用户名。他们可以选择他们想要添加的人(如果有的话)。


当您创建新文件时,您的默认组会自动获取group ownership新文件。在大多数情况下,您会希望它成为您的私人组,因此它是默认的。

您也可以成为许多不同的次要团体的成员。要在辅助组之间切换,以便新创建的文件将拥有其组所有权,命令(非常不直观)是newgrp。像这样:

$ newgrp myOtherGroup

您创建的所有新文件都将具有“组所有权”我的其他组直到您newgrp username或重新启动。

相关内容