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
?
答案1
这意味着 file.txt (rw-) 的进程组权限适用于进程 A,对吗?
是,对的。
另外,如果进程A创建了一个新文件或新目录,那么新创建的文件或目录属于哪个组(进程A有3个组),它是egid吗?
假设创建新文件/目录的目录没有设置其 setgid 位,是的。
如果您想使用组而不是默认值Process A
创建新文件和目录,您可以从命令开始。group_b
group_a
Process A
sg group_b Process_A
或者,如果指定特定目录进行协作group_c
,则该目录的所有者可以将该目录的组设置为group_c
,然后设置该目录的 setgid 位:
mkdir /some/directory
chgrp group_c /some/directory
chmod g+rwxs /some/directory
现在,在该目录中创建的任何新文件和子目录都会自动将其组所有权设置为group_c
.任何新的子目录都将继承组所有权和 setgid 位,因此此行为一旦创建就会自动传播到任何子目录和子子目录等,除非创建者显式更改组所有权或权限。