Определение пользователя, который должен стать владельцем нового файла,
выполняется просто: uid владельца файла - это действительный uid процесса,
создающего файл.
Определение владельца-группы немного сложнее. По умолчанию файл относится
к той группе, которой принадлежит действительный gid процесса, создающего
файл. Это поведение, заложенное в System V (поведенческая модель
для Linux), и стандартный modus operandi Linux.
Чтобы усложнить ситуацию, BSD определяет собственное поведение: группа
для файла выбирается на основе gid родительского каталога. Это поведение
можно включить в Linux при помощи параметра времени монтирования (mounttime
option)1; также оно работает в Linux по умолчанию, если для родительского
каталога файла установлен бит setgid (set group ID, установка идентификатора
группы). Хотя большинство систем Linux работают по принципу System V
(когда новые файлы получают gid создающего процесса), возможность поведения
в стиле BSD (когда новые файлы получают gid родительского каталога)
подразумевает, что, когда это действительно необходимо, группу для файла
нужно выбирать явно при помощи системного вызова chownO (см. главу 7).
К счастью, вопрос выбора владельца-группы файла встает не часто.