在第3章中讲述用open或creat创建新文件时,我们并没有说明赋予新文件的用户ID和组ID是什么。4.21节将说明mkdir函数,此时就会了解如何创建一个新目录。关于新目录的所有权规则与本节说明的新文件所有权规则相同。
新文件的用户ID设置为进程的有效用户ID。关于组ID,POSIX.1允许实现选择下列之一作为新文件的组ID。
(1)新文件的组ID可以是进程的有效组ID。
(2)新文件的组ID可以是它所在目录的组ID。
使用POSIX.1所允许的第二个选项(继承目录的组ID)使得在某个目录下创建的文件和目录都具有该目录的组ID。于是文件和目录的组所有权从该点向下传递。例如,在Linux的/var/mail目录中就使用了这种方法。