NTFS имеет Windows ACE. Unix использует «биты режима» для каждого файла.
В NTFS у каждого файла может быть владелец и ноль или более записей контроля доступа Windows (ACE). ACE состоит из принципала (пользователи и группы являются принципалами), набора операций (чтение, запись, выполнение и т. Д.) И того, разрешены или запрещены эти операции. Файлы могут иметь много ACE. Другие объекты в Windows, кроме файлов, также могут иметь записи ACE, такие как записи реестра, объекты принтера и другие вещи. Все ACE учитываются, когда происходит файловая операция. Отрицание имеет приоритет над разрешением.
Windows ACE поддерживают наследование, где вы можете установить ACE для каталога и автоматически распространять его на каталоги более низкого уровня.
Файлы в Unix имеют владельца-пользователя (владельца) и группу-владельца (owner-group). Есть три фиксированных «принципала», которыми являются владелец, члены группы-владельца и все остальные (иначе мир). Для каждого принципала есть три «бита», которые охватывают возможности чтения, записи и выполнения. (они имеют разные значения для каталогов, чем файлы, смотрите это ). Эти биты определяют, кто может выполнять какие операции. Это называется режимом файла и встроено в файл (отдельных ACE нет).
Большую часть времени вы беспокоитесь о разрешениях «world», то есть установка всех трех битов на «world» означает, что никто, кто не является владельцем или владельцем группы, ничего не может сделать с файлом. Разрешения Unix работают только в файловой системе, но поскольку большинство объектов отображаются в виде файлов, вы можете использовать разрешения, чтобы ограничить доступ к дискам, принтерам и т. Д. Разрешения Unix проще, но более «грубые». Разрешения Unix не поддерживают наследование и не влияют на каталоги более низкого уровня, за исключением разрешения на выполнение для каталогов (я думаю), которое заставляет вновь созданные файлы принимать разрешения для каталога (но не влияет на созданные в настоящее время файлы).
Традиционно файлы Unix имеют одного владельца и одну группу владельцев. Существуют расширения для Linux, которые добавляют ACE к файлам аналогично Windows.
Преимущество Unix состоит только в том, что более простая система обычно легче для понимания и безопасности, а также скорость, поскольку файловая система не должна извлекать ACE в дополнение к inode при открытии файлов.
acl
илиfacl
что-то похожее, с именами двух программsetfacl
иgetfacl
для изменения или получения настроек списка управления доступом.Одна вещь, которая отличается от других, заключается в том, что «исполняемый файл» - это разрешение в Linux / Unix, не основанное на имени или расширении файла.
Это преимущество перед Windows в том, что в Linux вы можете гарантировать, что что-то не будет выполнено, удалив исполняемые разрешения. Никакие магические расширения не имеют значения вообще. Вероятно, это одна из причин, почему традиционные файловые вирусы нигде не получили успеха в Unix и Linux.
источник