====== FreeBSD Jail patarimai ======
===== Sukūrimas =====
setenv D /usr/jail
cd /usr/src
mkdir -p $D
make buildworld
make installworld DESTDIR=$D
cd etc
make distribution DESTDIR=$D -DNO_MAKEDEV_RUN
===== Atnaujinimas =====
setenv D /usr/jail
cd /usr/src
mergemaster -p -D $D
make buildworld
make installworld DESTDIR=$D
mergemaster -D $D
===== Valdymas =====
Jail'ų sąrašas:
jls
Įėjimas į Jail:
jexec JAIl_PAVADINIMAS /bin/sh
===== nullfs naudojimas =====
nullfs galima panaudoti /usr/src ir /usr/ports prijungimui iš pagrindinės sistemos,
taip sutaupoma vieta ir lengviau atnaujinama sistema.
Kiekvieno jailo fstab galima aprašyti /etc/fstab.JAIL_VARDAS failuose:
/usr/ports /usr/jail/usr/ports nullfs rw 1 1
/usr/src /usr/jail/usr/src nullfs ro 1 1
Žinoma pagrindinės sistemos rc.conf faile turėtų būti eilutė:
jail_example_mount_enable="YES"
===== rc.conf nustatymai =====
Kad jailai startuotų kompiuterio krovimosi metu reikia tokių įrašų /etc/rc.conf faile:
jail_enable="YES"
jail_list="pirmas antras"
Tuomet toliau aprašyti jailus, pvz.:
jail_pirmas_rootdir="/usr/jails/pirmas"
jail_pirmas_hostname="pirmas.bug.lt"
jail_pirmas_ip="192.168.1.100"
jail_pirmas_exec="/bin/sh /etc/rc"
jail_pirmas_devfs_enable="YES"
jail_pirmas_fdescfs_enable="NO"
jail_pirmas_procfs_enable="YES"
jail_pirmas_devfs_ruleset="devfsrules_jail"
jail_pirmas_mount_enable="YES"
Kiti parametrai:
jail_set_hostname_allow="YES" - leisti root vartotojui jaile keisti kompiuterio vardą
jail_socket_unixiproute_only="YES" - maršrutizuoti TCP/IP iš jailo
jail_sysvipc_allow="NO" - leisti naudotis IPC resursais
===== sysctl galimybės =====
Pagrindinės sistemos /etc/sysctl.conf faile galima nurodyti tokius parametrus:
security.jail.set_hostname_allowed - leisti keisti kompiuterio vardą
security.jail.socket_unixiproute_only - maršrutizuoti TCP/IP iš jailo
security.jail.sysvipc_allowed - leisti naudotis IPC resursais
security.jail.enforce_statfs - nurodo kuriuos mountus bus galima matyti
security.jail.allow_raw_sockets - leidžia sukurti raw tipo soketus, kurie reikalingi ping ir traceruote komandoms
security.jail.chflags_allowed - ar leidžiama keisti sistemines žymes susijusias su securelevel
security.jail.jailed - leidžia nustatyti ar procesai vykdomi jailinėje aplinkoje
===== paleidimas ir stabdymas =====
Jailams valdyti galima naudoti /etc/rc.d kataloge esantį jail skriptą:
/etc/rc.d/jail start
/etc/rc.d/jail stop