15.5. 微調與管理

可以為 jail 設定許多不同選項,並讓 FreeBSD 的 host 系統與 jail 以各種不同方式組合搭配,以符合更多的應用用途。 本節要介紹的是:

15.5.1. FreeBSD 所提供的 jail tuning 工具

對於 jail 設定的微調,基本上都是透過設定 sysctl(8) 變數來完成。 系統提供一組 sysctl 的特殊子樹,全部相關的選項都在該子樹內,也就是 FreeBSD kernel 中的 security.jail.* 子樹。 下面則是與 jail 相關的主要 sysctl 設定及預設值,這些名稱都相當容易理解, 如欲更進一步的資訊,請參閱 jail(8)sysctl(8) 說明:

  • security.jail.set_hostname_allowed: 1

  • security.jail.socket_unixiproute_only: 1

  • security.jail.sysvipc_allowed: 0

  • security.jail.enforce_statfs: 2

  • security.jail.allow_raw_sockets: 0

  • security.jail.chflags_allowed: 0

  • security.jail.jailed: 0

系統管理者可在 host system 透過修改這些設定值來增加、取消 Jail 內 root 帳號的預設限制。 請注意:有些限制是不能取消,在 jail(8) 環境的 root 不能掛載或卸載檔案系統。 此外亦不能載入、 卸載 devfs(8) 規則、設定防火牆規則,或執行其他需修改 kernel 資料的管理作業,例如設定 kernel 的 securelevel 值。

FreeBSD base system 內附一些基本工具,可用來查閱目前使用中的 jail、 並接上(attach) jail 以執行管理指令。 jls(8)jexec(8) 均屬於 FreeBSD base system 之一,可用來執行一些簡單工作:

  • 列出有在使用的 jail 及其相對應的 jail identifier (JID)、IP address、 hostname、路徑。

  • 接上(Attach)正在運作中的 jail,並在其中執行指令以進行管理工作。 這點在當 root 想乾淨關閉 jail 時相當有用, jexec(8) 也可用在 jail 中啟動 shell 以便對其進行管理, 比如:

    # jexec 1 tcsh

15.5.2. FreeBSD Ports Collection 所提供的高階管理工具

在諸多 third-party 所提供的 jail 管理工具當中,sysutils/jailutils 是最完整也最好用的。 該套件是由一系列 jail(8) 管理小工具所組成的。 詳情請參閱其網站介紹 。

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.