从C实例化BSD jail

时间:2016-10-04 20:46:17

标签: c freebsd jail

我一直在尝试从应用程序创建BSD jails。基于jail(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用户,所以这对我来说是一个未知的领域。)

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

1 个答案:

答案 0 :(得分:1)

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

jexec jail ls
jexec jail ps

您还可以在jail中运行shell:

jexec jail csh

甚至

jexec jail env -i TERM=$TERM /usr/bin/login -fp root