15.5. 微調與管理
前一頁 | 章 15. Jails | 下一頁

## 15.5. 微調與管理

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

- 用以微調 jail 行為與安全限制的選項。

- 可透過 FreeBSD Ports Collection 安裝的高階 jail 管理程式， 搭配這些程式可以達到一些 jail-based 解決方案。

### 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) 管理小工具所組成的。 詳情請參閱其網站介紹 。

前一頁 | 上一層 | 下一頁
15.4. 建立和控制 Jail | 起始頁 | 15.6. Jail 的應用

本文及其他文件，可由此下載： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。