Я пытаюсь раскрыть иерархию домашних каталогов для нескольких тюрем FreeBSD. Домашние каталоги настроены так, что каждый является уникальным набором данных ZFS. Тюрьмы используются для разработки и, следовательно, создаются и уничтожаются на регулярной основе.
Моей первой мыслью было просто использовать nullfs для монтирования /home
внутри тюрьмы, но nullfs не предоставляет никакого способа доступа к подчиненным файловым системам.
Моей второй мыслью было экспортировать каталоги через NFS, а затем запустить демон автомонтирования (amd) внутри каждой тюрьмы. Это было бы просто сработало ... если бы было возможно выполнить монтирование NFS внутри тюрьмы. Но это не так.
Моя третья мысль состояла в том, чтобы запустить amd на хосте и обеспечить монтирование nullfs в тюрьмы ... но поддержки amd для nullfs не существует.
Моей четвертой мыслью было вернуться к экспорту каталогов с использованием NFS, потому что, конечно, amd работает с NFS, верно? К сожалению, вместо того, чтобы монтировать каталог в целевой точке монтирования, amd любит монтировать вещи во временную папку ( /.amd_mnt/...
) и затем создавать символическую ссылку ... что, конечно, бесполезно в среде тюрьмы.
Так, может быть, вы могли бы использовать nullfs, чтобы открыть подкаталог /.amd_mnt
для тюрьмы? Нет! Это возвращает нас к моей первой попытке, в которой мы находим, что нет никакого способа получить доступ к подчиненным файловым системам, используя nullfs .
И тогда моя голова взорвалась.
Есть ли хорошее решение для того, что я пытаюсь сделать? Плохое решение было бы запустить скрипт после загрузки острог , который будет создавать несколько nullfs монтирования для каждого домашнего каталога, но это довольно неуклюжее - это нужно будет периодически запускать принимать во внимание новые каталоги или удаленные каталоги. Так что в принципе мне пришлось бы написать плохой автомонтир.
Должен быть лучший способ. Помоги мне, Serverfault, ты моя единственная надежда!
ОБНОВЛЕНИЕ 1 : Мне пришло в голову, что я мог бы решить часть проблемы pam_mount
, хотя это в лучшем случае будет неполным. Кроме того, из документации не ясно, pam_mount
может ли автоматически создать целевую точку монтирования. Если для этого требуется, чтобы точка монтирования существовала априори, это решение не было бы лучше, чем плохой автомонтировщик, который я уже предлагал.
ОБНОВЛЕНИЕ 2 : Как обсуждалось в ответах ниже, настройка VFCF_JAIL
файловой системы NFS позволяет джейлам выполнять монтирование NFS. К сожалению, автомонтер продолжает вести себя бесполезно, и при запуске в тюрьме он очень хорошо справляется с блокировкой таким образом, что для удаления записи процесса необходима перезагрузка системы.