我一直在尝试能够从应用程序创建 BSD jail 。基于 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 字段的示例值是什么样的?另外,我可以使用什么工具来检查 jail 以确保我正确地实例化了它们? (我传统上是 Linux 用户,所以这对我来说是未知领域)。
为了澄清字段问题,我了解 Linux 中的 in_addr 类型是什么,我可以假设它与 FreeBSD 相同吗?
最佳答案
要在 jail 中运行任意命令,请使用 jexec :
jexec jail ls
jexec jail ps
你也可以在 jail 中运行一个 shell:
jexec jail csh
甚至
jexec jail env -i TERM=$TERM /usr/bin/login -fp root
关于c - 从 C 实例化 BSD jail ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39861457/