Jailing Sylve
Author: Pouria Mousavizadeh Tehrani (<pouria@freebsd.org>)
Jail Configuration
Section titled “Jail Configuration”To run Sylve inside a jail environment, allow the permissions below and adjust the settings as shown:
devfs_ruleset=5;allow.vmm;allow.nfsd;allow.mount;allow.mount.zfs;zfs.dataset="tank/sylve";enforce_statfs=1;children.max=100;vnet;
# For Sambaallow.mount.fdescfs;
# For zfs-jailexec.poststart += "zfs jailed=on tank/sylve";exec.poststart += "zfs jail ${name} tank/sylve";exec.prestop += "zfs unjail ${name} tank/sylve";exec.prestop += "zfs jailed=off tank/sylve";Notes:
- Replace
tank/sylvewith your desired ZFS dataset. - Replace
100inchildren.maxwith your desired number of maximum hierarchial jails. - Replace your
devfs_rulesetnumber based on your own custom rules. - Add your own desired interface to
vnet.interface.
DevFS ruleset
Section titled “DevFS ruleset”Here is the example for your devfs.rules file:
[devfsrules_jail_sylve=6]add include $devfsrules_hide_alladd include $devfsrules_unhide_basicadd include $devfsrules_unhide_loginadd include $devfsrules_jailadd include $devfsrules_jail_vnetadd path 'bpf*' unhideadd path 'vmmctl' unhideadd path 'da*' unhideadd path 'ada*' unhideadd path 'nda*' unhide