我一直在尝试在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。
嗯,这主要是因为我很笨。
sudo mount -t devfs devfs ./dev
效果很好。
如果上面的命令在没有root用户的情况下运行,它将绑定./dev中的devfs设备,但是所有设备将以“设备未配置”错误响应。如果以root身份运行,则所有./dev设备都将按预期运行。