0

我需要为我的程序创建一个 chroot 监狱。该程序需要 /dev 的内容才能正确执行。我不想在 chroot 监狱中复制 /dev 的内容,因为我想避免在监狱中重复元素。

我找到了 2 个解决这个问题的方法,但没有一个能完全解决我的问题:

  • 挂载/dev:可以,但是如果系统管理员通过“rm -rf”删除chroot jail,他可以删除/dev。这是不好的...
  • /dev: 上的符号链接不起作用,因为指向监狱外部的符号链接不起作用。

您知道避免重复、删除时安全且有效的解决方案吗?

4

1 回答 1

0

在 Linux 上:

  • 你可以挂载 devfs 文件系统: mount -t devtmpfs none /jail/dev

在 freebsd 上:

  • 您可以挂载 devfs 文件系统: mount -t devfs none /jail/dev
  • 或挂载文件夹(不推荐用于开发): mount_nullfs /dev /jail/dev

如果你不想重复,你需要在删除监狱之前卸载。您可以以只读方式挂载,但您可能会遇到软件问题(取决于监狱的使用)。

于 2011-12-21T00:24:58.260 回答