Sayfile.txt
拥有以下权限:
-rwxrw-r-- 1 chris group_b 347 2016-12-25 10:19 file.txt
rw-
是所属组的权限file.txt
。
现在假设Process A
要访问file.txt
,euid
of Process A
是paul
(我在这里使用名称而不是实际 ID)。
现在(如果我错了,请纠正我)每个进程都有egid
一个supplementary group IDs
.
例如说egid
forProcess A
是group_a
和它有两个supplementary group IDs
,它们是group_b
和group_c
。
这意味着file.txt
( rw-
) 的进程组权限适用于Process A
,对吗?
另外,如果Process A
创建了一个新文件或新目录,新创建的文件或目录将属于哪个组(Process A
有 3 个组),是egid
?
是,对的。
假设创建新文件/目录的目录没有设置其 setgid 位,是的。
如果你想
Process A
用 groupgroup_b
而不是默认创建它的新文件和目录group_a
,你可以从Process A
command开始sg group_b Process_A
。或者,如果为 指定了一个特定目录进行协作
group_c
,那么该目录的所有者可以将该目录的组设置为,group_c
然后为该目录设置 setgid 位:现在,在该目录中创建的任何新文件和子目录都将自动将其组所有权设置为
group_c
. 任何新的子目录都将继承组所有权和 setgid 位,因此此行为将在创建后立即自动传播到任何子目录和子子目录等,除非创建者明确更改组所有权或权限。