为什么chroot
操作会报错:“ bash: /root/.bashrc: Permission denied
”?
我一直chroot
出于学习目的进行测试,并且在执行时遇到了以下错误/bin/bash
:
nlykkei@debian:~$ id
uid=1000(nlykkei) gid=1000(nlykkei) groups=1000(nlykkei),27(sudo)
nlykkei@debian:~$ sudo chroot --userspec nlykkei:root --groups sudo / /bin/bash
bash: /root/.bashrc: Permission denied
nlykkei@debian:/$ id
uid=1000(nlykkei) gid=0(root) groups=0(root),27(sudo)
似乎/bin/bash
是在尝试访问 root.bashrc
而不是nlykkei
's?
此外,我不能通过创建(复制)来NEWROOT
制作~
和执行:/bin/bash
~/bin/bash
nlykkei@debian:~$ ls -la ~/bin/bash
-rwxr-xr-x 1 nlykkei nlykkei 1168776 Sep 23 10:49 /home/nlykkei/bin/bash
nlykkei@debian:~$ sudo chroot --userspec nlykkei:root --groups sudo /home/nlykkei/ /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory
有什么办法可以解决这些问题?
nlykkei@debian:~$ uname -a
Linux debian 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64 GNU/Linux
传递给与
--userspec
在chroot 环境chroot
中运行是不一样的;su - user
即主目录仍然是根目录,/root
这就是为什么bash
尝试读取/root/.bashrc
非根用户不允许的内容。您的第二个问题可能是由于没有在 chroot 环境中包含所有必需的共享库。从
chroot
信息文档: