为了在chroot-ing的目的,是否可以在macOS的目录中重新创建/ dev?

问题描述 投票:1回答:1

我一直在尝试在chroot目录下运行应用程序。

[许多应用和二进制文件要求访问/ dev中的项目,例如/ dev / null和/ dev / random才能正常工作。

是否有方法可以重新创建或绑定目录中的/ dev文件系统,以达到此目的?

我尝试了以下操作,但未成功:(root是我要chroot的目录)

$ sudo bindfs -o dev -o allow_other /dev ./root/dev/

导致:

$ cat ./root/dev/urandom
cat: ./root/dev/urandom: Operation not permitted

$ mount -t devfs devfs ./root/dev

前往:

$ cat ./root/dev/urandom
cat: ./root/dev/urandom: Device not configured

尝试使用mknod手动制作设备也不起作用。

$ sudo mknod null c 1 3
$ sudo chmod 666 ./null 
$ cat ./null
cat: ./null: Operation not permitted

有没有办法使用chroot中现有的/ dev项或重新创建它们?

不幸的是,在Internet上似乎没有太多关于将chroot与OSX / macOS一起使用的文档。

操作系统详细信息:macOS Mojave,10.14.6。已启用SIP。

macos macos-mojave
1个回答
0
投票

嗯,这主要是因为我很笨。

sudo mount -t devfs devfs ./dev

效果很好。

如果上面的命令在没有root用户的情况下运行,它将绑定./dev中的devfs设备,但是所有设备将以“设备未配置”错误响应。如果以root身份运行,则所有./dev设备都将按预期运行。

© www.soinside.com 2019 - 2024. All rights reserved.