我是一名 chroot 新手,正在尝试建立一个简单的 chroot jail,但我一次又一次地被同样的问题困扰……任何帮助都将不胜感激
我创建了一个/usr/chroot
想要用作监狱的目录,并在其下创建了子目录并将依赖项复制/bin/bash
到其中:
[root@WIG001-001 ~]# cd /usr/chroot/
[root@WIG001-001 chroot]# ls
[root@WIG001-001 chroot]# mkdir bin etc lib var home
[root@WIG001-001 chroot]# ldd /bin/bash
linux-vdso.so.1 => (0x00007fff99dba000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000037a2000000)
libdl.so.2 => /lib64/libdl.so.2 (0x000000379fc00000)
libc.so.6 => /lib64/libc.so.6 (0x000000379f800000)
/lib64/ld-linux-x86-64.so.2 (0x000000379f400000)
[root@WIG001-001 chroot]# cp /lib64/libtinfo.so.5 /usr/chroot/lib/
[root@WIG001-001 chroot]# cp /lib64/libdl.so.2 /udr/csr/chroot/lib/
[root@WIG001-001 chroot]# cp /lib64/libc.so.6 /usr/chroot/lib/
[root@WIG001-001 chroot]# cp /lib64/ld-linux-x86-64.so.2 /usr/chroot/lib/
[root@WIG001-001 chroot]# cp /bin/bash bin
[root@WIG001-001 chroot]# pwd
/usr/chroot
[root@WIG001-001 chroot]# /usr/sbin/chroot .
/usr/sbin/chroot: cannot run command `/bin/bash': No such file or directory
it looks like the /bin/bash created under /usr/chroot is fine as the below works:
[root@WIG001-001 chroot]# su - nobody -s /usr/chroot/bin/bash
-bash-4.0$
有人能告诉我接下来该去哪里吗?
答案1
错误信息具有误导性:/bin/bash: No such file or directory
可能表示/bin/bash
不存在,或者使用的动态加载器不存在。(如果行上的解释器不存在,/bin/bash
您也会收到此脚本消息。)#!
/bin/bash
正在寻找/lib64/ld-linux-x86-64.so.2
但您提供了/lib/ld-linux-x86-64.so.2
。做/usr/chroot/lib64
一个象征性的lib
或反之亦然。
答案2
只要这样做:mv /usr/chroot/lib /usr/chroot/lib64
答案3
我也遇到了同样的错误。最好的方法是找出救援映像(live CD)“/”内容和“/mnt/sysimage”内容之间的区别。
通过将 /bin 和 /sbin 从“/”目录复制到被意外删除的“/mnt/sysimage”,问题得到了解决。
#cp -r /bin /sbin /mnt/sysimage
#reboot
答案4
您应该尝试在主目录中复制 .bashrc 文件。这肯定会有所帮助。