chroot 失败-无法运行命令“/bin/bash”:没有此文件或目录

chroot 失败-无法运行命令“/bin/bash”:没有此文件或目录

我是一名 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 文件。这肯定会有所帮助。

相关内容