如何在防删除的 chroot 监狱中创建对 /dev 的引用?

发布于 2024-12-22 01:34:28 字数 298 浏览 2 评论 0原文

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

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

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

您是否知道一种可以避免重复、删除安全且有效的解决方案?

I need to create a chroot jail for my program. The program needs the contents of /dev to execute properly. I don't want to copy the contents of /dev in the chroot jail, because I want to avoid the duplication of elements in the jail.

I have found 2 solutions to this problem, but none of them are fully solving my problem:

  • Mounting /dev: works, but a sys admin can delete /dev if he deletes the chroot jail through "rm -rf". This is bad...
  • Symbolic link on /dev: does not work because symbolic links that are pointing outside of the jail do not work.

Do you know a solution that avoids duplication, is secure on deletion and works?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七分※倦醒 2024-12-29 01:34:28

在 Linux 上:

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

在 freebsd 上:

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

如果不想重复,则需要先umount,然后再删除jail。
您可以以只读方式挂载,但您可能会遇到软件问题(取决于监狱的使用)。

On linux :

  • You can mount devfs filesystem :
    mount -t devtmpfs none /jail/dev

On freebsd :

  • You can mount devfs filesystem :
    mount -t devfs none /jail/dev
  • Or for mount a folder (not recommended for dev) :
    mount_nullfs /dev /jail/dev

If you want no duplication, you need to umount before delete the jail.
You can mount in readonly, but you can have problems with softwares (depends of jail use).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文