Как :Набор данных ZFS для каждого пользователя

Любой ответ будет, по крайней мере, немного спекуляцией ИМО, поскольку то, что представляет собой «инновация», отличается от человека к человеку (и хорошо ли это! )Поскольку autoconfпо большей части не зависит от языка -и архитектуры -,есть много инерции, которая сдерживает желание меняться :вы должны учитывать, что некоторым скриптам конфигурации, вероятно, уже несколько десятков лет, и люди не хотят переписывать то, что работает.

Некоторые из ограничений, с которыми сталкивается autoconf, связаны с архитектурой. :Например, как можно использовать многопоточность на шаге, который проверяет многопоточность? Будет ли версия 2.5 libfooработать с программой, которая говорит, что ей нужна версия 1.8? Другие проблемы, на которые вы ссылаетесь, часто связаны с недостаточной спецификацией зависимостей. :У меня было много сценариев настройки, которые просто забывали перечислить все свои прямые зависимости. Наконец, autoconfимеет довольно ограниченное число сопровождающих, что затрудняет внесение значительных изменений.

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

0
22.07.2020, 22:59
1 ответ

Да, это возможно. Я предлагаю вам попробовать использовать разрешения на создание времени для базового набора данных. Это достигается с помощью опции -cдля zfs allow, но сначала вы разрешите пользователям создавать новые наборы данных. Например, у вас может быть сначала базовый набор данных mypool/base, и для этого базового набора данных вы разрешаете создавать разрешение локально, используя allow -l -u <user> <permission>[,<permission>...] mypool/base. Это позволит пользователю 1 создать свой собственный набор данных mypool/base/<user1data>, а также другим пользователям, но не позволит им уничтожать или монтировать наборы данных других пользователей.

Теперь вы можете использовать параметр zfs allow -c, чтобы предоставить более широкие разрешения для дочерних наборов данных, которых вам будет достаточно после создания собственного набора данных.

Из справочных страниц:

zfs allow -c perm|@setname[,...] filesystem|volume Sets "create time" permissions. These permissions are granted (locally) to the creator of any newly-created descendent file system.

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

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

0
18.03.2021, 23:18

Теги

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