Где владелец файла в Windows имеет значение, видя, что есть ACL?

12

Исходя из Linux, я привык к файлу, имеющему владельца и группу-владельца. Права доступа могут быть установлены отдельно для владельца, группы и других, и все.

Теперь в Windows, основанной на NT, все немного по-другому, потому что Windows использует ACL. Это означает, что вместо трех списков разрешений (владелец, группа, остальные) я могу иметь столько списков разрешений, сколько захочу.

Пока это имеет смысл. Однако почему в Windows до сих пор существует понятие владельца файла? Мне кажется, что с ACL, «владелец файла» больше не нужен, потому что весь доступ может быть настроен через ACL.

Итак, почему современная Windows все еще использует владение файлами? Где это имеет значение, кто владеет файлом? До тех пор, пока два файла имеют одинаковые списки ACL, владение файлами не должно иметь значения - или это так?

sleske
источник
В основном применяется для сетей ... местные жители используют UAC
Петр Кула
3
@ppumkin: Windows UAC только в дополнение к системе ACL.
user1686
@ppumkin: выключите UAC и попробуйте перезаписать файлы в System32. ACL остановит вас холодно .
Surfasb

Ответы:

10

Прежде всего, Linux делает имеет списки контроля доступа - POSIX ACL для , которые позволяют устанавливать биты разрешения для любого количества пользователей и групп. (Патчи для RichACL , ACL, очень похожие на NFSv4 и WinNT, были представлены повторно, но еще не объединены.)

Владение может использоваться как своего рода безопасное спасение - владелец всегда может изменить ACL объекта, даже если в противном случае было бы отказано в изменении, например, если кто-то случайно удалил все записи ACL или отклонил все изменения для всех. (В Linux только владелец или суперпользователь может изменять ACL файла, поскольку нет отдельного разрешения «изменить ACL».)

Другое использование владения файлами, как в Windows NT, так и в Linux, предназначено для определения квоты, на которую должен рассчитывать файл, если используются дисковые квоты.

user1686
источник
@surfasb Повторяет свой комментарий. Действительно хороший аргумент для "заботы" о собственности.
Erutan409
3

Существует большая разница, если вы посмотрите на это с точки зрения администратора.

В Linux root может делать все напрямую - за счет неявных учетных записей всех разрешений на все объекты в файловой системе и за ее пределами.

В Windows администратор не имеет прав на все действия по умолчанию - только если вы являетесь владельцем объекта (файл, запись в реестре папки, ...), который вы хотите изменить.

Возьмем, к примеру, папку, в которой администратор должен изменить права доступа к файлу. Если администратор не имеет разрешения на изменение настроек безопасности папки, он должен взять на себя ответственность за эту папку, прежде чем сможет получить к ней доступ или изменить ее.

Обновить:

Эта функция важна, потому что в контролируемой ACL среде может быть случай, когда файл имеет пустой ACL, что означает, что никто не имеет доступа (принцип запрета по умолчанию). В таком случае переход к владению является единственным способом получить доступ или удалить файл.

Роберт
источник
1
Означает ли это, что только владелец файла может изменять свои разрешения? Или почему администратор может стать владельцем файла, но не может напрямую изменять разрешения?
слеске
Смотрите мой обновленный ответ.
Роберт
@sleske: Да, владелец объекта всегда может изменить свои разрешения.
Surfasb
2

Владелец объекта всегда может изменить ACL.

kinokijuf
источник
1
Как вы меняете ACL хотя?
Саймон Шихан
1
Использование вкладки безопасности в свойствах.
киноюф