1

我一直在尝试能够从应用程序创建 BSD 监狱。基于监狱(2)的FreeBSD手册页,我想出了:

struct jail _jail;
_jail->version = <jail version>;
_jail->path = "/some/path/";
_jail->hostname = "some-host";
_jail->jailname = "jailname";
_jail->ip4s = <ip value>;
_jail->ip6s = <ip value>;
_jail->ip4 = <ip4 struct>;
_jail->ip6 = <ip6 struct>;
int jid = jail(&jail);

因此,我想知道 ip4 和 ip6 字段的示例值是什么样的?此外,我可以使用哪些工具来检查监狱以确保我正确地实例化了它们?(我传统上是 Linux 用户,所以这对我来说是未知领域)。

为了澄清字段问题,我了解 Linux 中的 in_addr 类型是什么,我可以假设它与 FreeBSD 相同吗?

4

1 回答 1

1

要在监狱中运行任意命令,请使用jexec

jexec jail ls
jexec jail ps

你也可以在 jail 中运行一个 shell:

jexec jail csh

甚至

jexec jail env -i TERM=$TERM /usr/bin/login -fp root
于 2016-10-06T14:32:32.497 回答