Кратко
draft-ietf-nfsv4-posix-acls-02предлагает четыре необязательных атрибута для прямого представления POSIX Draft ACL и указания модели, реально используемой сервером при проверке доступа.- При области на уровне объекта старый клиент способен переключить истинную форму и удалить разрешающие правила другой модели; AUDIT/ALARM остаются отдельной поверхностью.
- Надёжная цепочка различает возможность, модель, упорядоченную запись, атомарное чтение, субъект, Mask, решение по операции и эффект над файлом.
Успех записи может означать замену политики
Каталог хранит POSIX Draft ACL как истинную форму. Именованная группа имеет бит записи, но ACE Mask ограничивает его эффективность. Современный клиент считывает ACL доступа, ACL по умолчанию и mode; картина согласована.
Затем старый инструмент записывает dacl. Если acl_trueform_scope относится к отдельному объекту, успешный SETATTR может перевести файл в ACL_MODEL_NFS4 и удалить POSIX ACL доступа и наследования. Код успеха подтверждает переход состояния, а не сохранение прежней политики.
Обратный переход столь же существенен. Непустая POSIX ACL может переключить объект NFSv4 на POSIX Draft и удалить ALLOW/DENY dacl. ACE типа AUDIT/ALARM остаются логически отдельными. Фраза «ACL обновлена» не говорит, какая модель теперь имеет право отказать следующей операции.
Revision 02 от 7 сентября 2026 года — активный Standards Track Internet-Draft рабочей группы NFSv4 со сроком до 11 марта 2027 года. Это не RFC, не обязательная функция и не доказательство соответствия продукта или внедрения.
Четыре атрибута задают координаты
acl_trueform различает NFSv4, POSIX Draft и отсутствие ACL. acl_trueform_scope задаёт область: объект, файловая система или сервер. posix_access_acl управляет текущим объектом; posix_default_acl служит материалом наследования для будущих дочерних объектов каталога.
Поддержка связана: реализация одного атрибута истинной формы требует второго; файловая система с одним POSIX ACL-атрибутом должна предоставлять обе ACL, оба атрибута формы и поведение mode / mode_umask.
Но сама сессия NFSv4.2 ничего не гарантирует. Клиент может не знать расширение, export — не предоставлять его, а соседние файлы — иметь разные формы. Свидетельство возможности включает сервер, export, сессию, filehandle, bitmap и время.
Mask ограничивает видимые права
Расширенная POSIX ACL содержит владельца, группу владельца, прочих, именованных пользователей или группы и Mask. Для групп бит действует только тогда, когда он присутствует и в записи, и в Mask.
Интерфейс может показывать группе запись, хотя Mask её снимает. Девяти младших битов mode тоже мало: для расширенной ACL групповые биты отражают Mask, а не обязательно Group_obj.
Для воспроизведения решения нужны аутентифицированный субъект, разрешение имён, эффективные дополнительные группы, владелец, совпавшие ACE, Mask и запрошенная операция. Точная передача массива без этих входов оставляет решение неизвестным.
ACL по умолчанию не разрешает доступ к каталогу
ACL доступа управляет самим объектом. ACL по умолчанию существует только у каталога и участвует в формировании ACL будущих детей; доступ к самому каталогу она не определяет.
При создании унаследованные права пересекаются с битами mode. Поэтому необходим mode_umask: сначала задаётся mode, затем выполняется наследование, после чего применяются явно переданные POSIX ACL.
Аудит дочернего файла требует ACL родителя на момент создания, mode/umask, порядка операций и окончательного чтения ребёнка. Сегодняшнее состояние родителя не восстанавливает вчерашнее.
Атомарность фиксирует один момент
В одном SETATTR mode применяется раньше POSIX ACL. Смешение NFSv4 acl или dacl с POSIX-атрибутами должно вернуть NFS4ERR_INVAL. При чтении форма, mode и ACL должны собираться атомарно относительно параллельных изменений.
Это исключает снимок из разных эпох. Но другой клиент может изменить объект сразу после чтения, а кластерный узел — иначе разрешить имя. Атомарный снимок — версионированное свидетельство, не постоянное разрешение.
Пустой массив не означает свободу
На уровне объекта пустая posix_access_acl может удалить POSIX ACL и вернуть ACL_MODEL_NONE. Однако POSIX-чтение также пусто, когда истинная форма — NFSv4.
Без acl_trueform случаи неразличимы. Один объект может контролироваться mode, другой — полноценной NFSv4 ACL. Нормализация пустоты как «нет ограничений» превращает отсутствие контекста в разрешение.
Экспериментальная реализация сохраняет границы
Документ отмечает экспериментальный код FreeBSD и патч Linux. Сообщается, что getfacl и setfacl работали, включая ACL с большим числом записей. Но данные предоставлены участниками, независимо не проверялись и не являются одобрением IETF или каталогом продуктов.
Это доказательство реализуемости в указанной конфигурации. Оно не подтверждает включение в релиз, включение по умолчанию, все переходы моделей, все случаи идентичности или реальные решения доступа.
Восемь квитанций для одного утверждения
Чтобы заявить, что пользователь мог писать, нужны: точная поддержка расширения; истинная форма и область; принятая в правильном порядке запись; атомарное чтение; субъект и эффективные группы; расчёт ACE, Mask, mode и наследования; решение по конкретной операции; результат для файла и приложения.
Новые атрибуты усиливают первые четыре шага. Их ценность именно в том, что они не маскируются под следующие четыре.
Источники
- Текущая запись IETF Datatracker
- История редакций
- Текст revision 02
- RFC 4506 — XDR
- RFC 5662 — NFSv4.1 XDR
- RFC 7862 — NFSv4.2
- RFC 8178 — правила расширений NFSv4
- RFC 8275 —
mode_umask - RFC 8881 — протокол NFSv4.1
- Текущий проект архитектуры NFSv4 ACL
- On Authority, Belief, and the Internet’s Addressing System
- Running-Code Primacy
- The Stability Fallacy
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
