小野寛生です。 解決しました。
https://forums.freebsd.org/threads/solved-customised-devfs-rules-unhiding-everything-in-jails.46091/#post-257953 にあるのですが、devfs ruleset の多重 include はできないとのことです。 というわけで、/etc/devfs.rules を下記のように書き換えて ============== [devfsrules_unhide_log=10] add path log unhide [devfsrules_jail_bpf=11] add include $devfsrules_hide_all add include $devfsrules_unhide_login add include $devfsrules_unhide_log add path zfs unhide add path 'bpf*' unhide [devfsrules_jail_log=12] add include $devfsrules_hide_all add include $devfsrules_unhide_login add include $devfsrules_unhide_log add path zfs unhide ============== これを適用するために、(再起動でもいいんですが) service devfs restart jail -m -n inner devfs_ruleset=11 jail -m -n gate devfs_ruleset=12 jail -m -n dc devfs_ruleset=12 とやったら /dev の下で隠したいものが隠れてくれました。 あと、jail.conf で devfs_ruleset = 11; は jail inner の項に書くべきでしたね。 2019年3月11日(月) 19:05 Hiroo Ono (小野寛生) <hiroo.ono+free...@gmail.com>: > > 小野寛生です。 > > stable/12 r344791 で vnet jail を動かしているのですが、jail.conf で指定したルールセットが反映されておらず、 > デフォルト(0) の状態になって、jail 内でも /dev 以下がすべて見えてしまっています。 > また、host で > > jail -n gate -m devfs_ruleset=12 > > とやっても jail の security.jail.devfs_ruleset の値が変化しません。 > 何か設定ミスがあるのだと思いますが、devfs_ruleset を反映するにはどうすればよいか教えてください。 > jail.conf と devfs.rules は下記のようになっています。 > > ==================== jail.conf ===================== > devfs_ruleset = 12; > # enforce_statfs = 1; > allow.mount; > allow.mount.devfs; > allow.sysvipc; > vnet; > > host.hostname = "${name}.oikumene.ukehi.net"; > path = "/usr/jails/${name}"; > exec.clean; > exec.consolelog = "/var/log/jail_${name}_console.log"; > exec.system_user = "root"; > exec.jail_user = "root"; > mount.fstab = "/etc/fstab.${name}"; > mount.devfs; > mount.fdescfs; > mount.procfs; > > $ifconfig = "/sbin/ifconfig"; > #$rotate = ""; > > exec.prestart += "${ifconfig} epair${ifa}a up"; > exec.poststart += "${ifconfig} epair${ifa}b vnet ${name}"; > exec.poststart += "jexec ${name} ${ifconfig} epair${ifa}b inet ${ip4addra}/24 > up > > "; > > exec.prestop += "jexec ${name} /bin/sh /etc/rc.shutdown"; > exec.prestop += "${ifconfig} epair${ifa}b -vnet ${name}"; > # exec.poststop += "${rotate} /var/log/jail_${name}_console.log"; > > gate { > devfs_ruleset=11; > allow.raw_sockets; > securelevel = 2; > vnet.interface = "ue0"; > $ifa = 0; > $ip4addra = 192.168.8.1; > > $ifb = 3b; > $ip4addrb = 192.168.9.1; > vnet.interface += epair${ifb}; > #exec.poststart += "${ifconfig} epair${ifb} vnet ${name}"; > exec.poststart += "jexec ${name} ${ifconfig} epair${ifb} > ${ip4addrb}/24 up fib 1"; > exec.prestop += "${ifconfig} epair${ifb} -vnet ${name}"; > exec.prestop += "${ifconfig} ue0 -vnet ${name}"; > } > > inner { > depend = "dc"; > $ifa = 1; > $ip4addra = 192.168.8.2; > > $ifb = 4b; > $ip4addrb = 192.168.9.2; > vnet.interface += epair${ifb}; > #exec.poststart += "${ifconfig} epair${ifb} vnet ${name}"; > exec.poststart += "jexec ${name} ${ifconfig} epair${ifb} > ${ip4addrb}/24 up fib 1"; > exec.prestop += "${ifconfig} epair${ifb} -vnet ${name}"; > } > > dc { > $ifa = 2; > $ip4addra = 192.168.8.3; > } > > exec.poststart += "jexec ${name} /bin/sh /etc/rc"; > =============================================== > > =================== devfs.rules ==================== > [devfsrules_unhide_log=10] > add path log unhide > > [devfsrules_jail_bpf=11] > add include $devfsrules_jail > add include $devfsrules_unhide_log > add path 'bpf*' unhide > > [devfsrules_jail_log=12] > add include $devfsrules_jail > add include $devfsrules_unhide_log > =============================================== _______________________________________________ freebsd-users-jp@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"