chroot 失败 - 无法运行命令 `/bin/bash':没有那个文件或目录

Mik*_*son 16 linux chroot

我是一个 chroot 新手,试图制作一个简单的 chroot 监狱,但我一次又一次地遇到同样的问题......任何帮助将不胜感激

我创建了一个/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$ 
Run Code Online (Sandbox Code Playgroud)

谁能给我任何想法从这里去哪里?

Gil*_*il' 30

错误消息具有误导性/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反之亦然。

  • @miyalys如果“/lib”是“/usr/lib”的符号链接,那么将文件放入“/usr/lib”会将其放入“/lib”,因为它们是同一目录!预感,它一开始不起作用,因为加载器保留了 `/lib` 和 `/usr/lib` 内容的缓存,当重建缓存时它开始工作。运行“ldconfig”会重建缓存,它可能是由您完成的,也可能是在您安装软件更新时由包管理器自动完成的。 (2认同)