NFS4 / ZFS: вернитесь ACL, чтобы чистить/наследовать состояние

Моя проблема идентична этому вопросу о Windows, но принадлежит NFS4 (Linux) и базовый ZFS (OpenIndiana), мы используем. У нас есть этот ZFS, совместно использованный через NFS4 и CIFS для пользователей Linux и пользователей Windows соответственно. Это было бы хорошо, чтобы обе группы пользователей извлекли выгоду из ACLs, но одна недостающая часть загадки идет таким образом:

У каждого пользователя есть дом, где он устанавливает верхний уровень, наследовал ACL. Он может позже совершенствовать полномочия для содержавших файлов/папок многократно. Со временем иногда полномочия должны быть обобщены снова, чтобы не увеличивать загрязнение записей ACL. Можно настроить ACL каждого файла в случае необходимости для получения требуемых полномочий, но это побеждает цель наследованного ACLs. Так, как ACL может быть полностью очищен как в вопросе, связанном выше?

Я ничего не нашел о том, что пробел, наследовали, ACL должен быть похожим. Этот вариант использования просто, кажется, не существует. На самом деле указывает solaris chmod страница справочника ясно

A-                            Removes all ACEs  for  current
                              ACL   on   file  and  replaces
                              current ACL with new ACL  that
                              represents  only  the  current
                              mode of the file.

Т.е. мы получаем три новых записи ACL, заполненные материалом, представляющим биты полномочий, который довольно бесполезен для чистки.

Если я пытаюсь вручную удалить каждый ACE, на последнем я добираюсь

chmod A0- <file>
chmod: ERROR: Can't remove all ACL entries from a file

Который между прочим заставляет меня думать: и почему нет? На самом деле я действительно хочу целый определенный для файла ACL, который уводят.

То же содержит для Linux, который перечисляет ТУЗЫ, запускающиеся с 1(!), и выражает словами его горе менее старательно

nfs4_setacl -x 1 <file>
Failed setxattr operation: Unknown error 524

Так, какова идея позади ACLs в соответствии с Солярисом/NFS? Они никогда не могут очищаться? Почему делает опцию рекурсии для команд установки ACL, загрязняют все дочерние элементы вместо того, чтобы установить единственный ACL и заставить детей наследоваться? Это - действительно намерение разработчиков? Я могу очистить ACLs использование клиента окон отлично, но я, как предполагается, говорю пользователям Linux, что они должны переключить ОС только для консолидации полномочий?

2
задан 20.03.2017, 12:17

1 ответ

С "chmod A-файл", Вы полностью очищаете весь ACL из файла, хранившего в файловой системе ZFS. Тем, все еще отображенным после этого, является "поддельный" ACLs, вычисленный из полномочий файла. Если Вы хотите удалить их также, можно выполнить "chmod 0 файлов" в дополнение к бывшей команде.

1
ответ дан 12.12.2019, 00:19

Теги

Похожие вопросы