Назад | Перейти на главную страницу

Какое хранилище ACL использовать для контроллера домена Samba в ZFS и FreeBSD

Я хочу установить контроллер домена Samba на хостах FreeBSD, которые используют ZFS для хранения файлов.

Когда я пытаюсь бежать samba-tool domain provision как указано на Статья Samba Wiki о настройке контроллера домена, Я получаю сообщение об ошибке, говорящее, что мне нужно включить списки контроля доступа POSIX. В соответствии с Страница FreeBSD на ZFS, ZFS на FreeBSD поддерживает только ACL в стиле NFSv4, который к настоящему времени полностью реализован, но несовместим с ACL в стиле POSIX.

Затем я пришел с неофициальным руководство по настройке контроллера домена Samba на FreeBSD, где решение состоит в том, чтобы просто предоставить --use-ntvfs флаг при звонке samba-tool, который я могу подтвердить, работает. Однако, согласно статус функции AD DC на Samba, функция NTVFS устарела в 2010 году, что не выглядит многообещающим.

Сейчас я на распутье. Я могу придумать два способа настроить этот DC, а именно с помощью --use-ntvfs или создав том и отформатировав его с помощью UFS. Но я не могу предвидеть плюсы и минусы этих решений.

Каковы последствия использования --use-ntvfs? Это что-то, что можно изменить впоследствии, или я застрял с выбором, пока не предоставлю совершенно новый домен?

Если вы не возражаете против работы, вы можете попробовать следующее: https://sourceforge.net/projects/libsunacl/

Думаю, это потребует некоторой компиляции. Вы можете найти больше информации здесь: https://wiki.freebsd.org/NFSv4_ACLs

Забудьте о списках ACL POSIX.1e с Samba - они просто не имеют смысла, поскольку Windows использует модель ACL, которая полностью отличается от POSIX.1e, и невозможно правильно преобразовать между ними (что не мешает некоторым людям, особенно в сообществе Linux Kenrel, от попыток - но это просто не может работать хорошо по причинам дизайна). Используйте списки ACL NFSv4, они почти такие же, как и в Windows.

Что касается компиляции - на самом деле порт и пакет Samba по умолчанию построены с поддержкой ACL. Просто убедитесь, что всегда установлены свойства ZFS "aclmode = passthrough" и "aclinherit = passthrough"; иначе наследование просто не сработает.