Владелец файла должен принадлежать к группе файлов?

21

У меня довольно упрощенное понимание прав доступа к файлам в * nix системах. Я понимаю, что существует владелец файла и группа файлов, но существует ли жесткое и быстрое правило относительно того, должен ли указанный владелец файла также принадлежать к этой группе файлов? Или, другими словами, может ли файл принадлежать группе, владельцем которой он не является?

Если так (или если нет), почему? Я хотел бы углубить свое понимание ... Кажется, я не могу найти что-то, что конкретно говорит об этом в паутинах ... Я также открыт для некоторых хороших материалов для чтения на эту тему.

user1766760
источник

Ответы:

27

Нет, владелец файла не должен принадлежать к группе этого файла. Там нет механизма для проверки или обеспечения соблюдения этого. Кроме того, пользователь может принадлежать группе одновременно, а затем быть удаленным; ничто не пройдет через файловую систему для проверки файлов, которые могут быть конфликтующими.

По сути, метаданные владельца и группы для файла просто находятся на диске и не имеют внешних ссылок. (Касательная: она хранится с помощью числового идентификатора пользователя и идентификатора группы, и они разрешаются системой по запросу.)

Кроме того, одновременно используется только один набор разрешений - если вы владелец, рассматриваются только разрешения владельца, и разрешения группы не имеют значения. Если вы не владелец, но находитесь в группе, используются разрешения группы. Наконец, если вы не являетесь ни группой, ни владельцем, используются «другие» разрешения. Если вы как владелец файла и группы файла, группа битов не имеет значения.

mattdm
источник
Спасибо за Ваш ответ. Это подтверждает мою догадку ... Я просто чувствовал, что владелец превосходит группу, но сталкивался с этим "эмпирическим правилом" на работе. Думаю, это только одна из тех обезьян, которые понимают, обезьяна делает что-то.
user1766760
2
Вы говорите, что если я владелец файла, и я в группе, которая "владеет" им, и у группы есть разрешение на запись и выполнение, пока у меня есть только разрешение на чтение, то разрешения группы будут игнорироваться для меня?
иконоборчество
2
@iconoclast Это правильно. Создайте файл и введите в него «Hello world». У него есть пользователь и владелец группы. Затем сделайте chmod 460это и попробуйте отредактировать его. Я полагаю, что где-то читал, но используемый термин означает, что права пользователя и группы в файле Unix разделены .
unxnut