Por que a chroot
operação resulta em erro: " bash: /root/.bashrc: Permission denied
"?
Eu tenho testado chroot
para fins de aprendizado e encontrei o seguinte erro ao executar /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)
Parece que /bin/bash
está tentando acessar root em .bashrc
vez de nlykkei
's?
Além disso, não posso fazer NEWROOT
eg ~
e executar /bin/bash
criando ~/bin/bash
(copiar):
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
Alguma maneira de resolver esses problemas?
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
Passar
--userspec
parachroot
não é a mesma coisa que rodarsu - user
dentro do ambiente chroot; ou seja, o diretório inicial ainda é o de root, ou seja/root
, é por isso quebash
está tentando ler o/root/.bashrc
que não é permitido para usuários não root.Seu segundo problema é provavelmente devido a não ter incluído todas as bibliotecas compartilhadas necessárias no ambiente chroot. Do
chroot
documento de informações: