有没有一个工具来pipe理知道ZFS的FreeBSD jails?

FreeBSD下的ZFS允许将文件系统分配给jail,这样jail中具有相应权限的帐户就可以访问文件系统,创build新的从属文件系统等等。 至less在8-STABLE中,这些function并没有集成到现有的/etc/rc.d/jail脚本中。 基本过程如下所示:

 sysctl -w security.jail.enforce_statfs=0 sysctl -w security.jail.mount_allowed=1 zfs set jailed=on <filesystem> zfs jail <jid> <filesystem> 

还需要在jail中暴露zfs设备节点。

与此同时,似乎有很多工具(ezjail,jailer,warden,以及通常是/usr/ports/sysutils/*jail* )声称更简单/更好/更强大/等等,但大多数其中似乎只是轻微维护,而不是标准的监狱剧本胜利。

我想避免重新发明轮子。 那里有一个与ZFS集成的监狱pipe理工具吗? 我正在寻找一些能够在启动jail时设置必要的devfs规则,sysctl设置和zfs属性的东西……理想情况下,允许基于名称的引用对jails进行访问,派对工具悲惨地从股票监狱脚本丢失。

    经过一番讨论后发现, ezjail的最新版本已经有了这个支持。 关键部分是/usr/local/etc/ezjail.conf中的以下configuration选项:

     ezjail_use_zfs="YES" ezjail_jailzfs="tank/jails" 

    创build监狱时使用-c zfs ,如下所示:

     ezjail-admin create -c zfs myjail 192.168.1.10 

    您可以使用ezjail-admin config命令将ZFS数据集与jail关联(不能将其作为create命令的一部分):

     ezjail-admin config -z tank/data/myjail myjail 

    这假定您已经设置了ZFS数据集,并configuration了相应的sysctl设置和devfs规则来使其工作。

    您的ZFS数据集需要设置jailed选项:

     zfs set jailed=on tank/data/myjail 

    你需要/etc/sysctl.conf的以下内容:

     # support zfs in jails security.jail.mount_allowed=1 security.jail.enforce_statfs=0 

    我用ezjailconfiguration的jail使用下面的devfs规则集:

     [devfsrules_zfsjail=100] add include $devfsrules_jail add path zfs unhide 

    CBSD( http://www.bsdstore.ru/en/about.html )对ZFS有很好的了解。