`chroot` 작업으로 인해 "bash: /root/.bashrc: Permission 반환됨" 오류가 발생하는 이유는 무엇입니까?

`chroot` 작업으로 인해 "bash: /root/.bashrc: Permission 반환됨" 오류가 발생하는 이유는 무엇입니까?

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)

s 대신 /bin/bash루트에 액세스하려는 것 같나요 ?.bashrcnlykkei

또한 다음 을 생성(복사)하여 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

답변1

전달하는 --userspec것은 chroot 환경에서 실행하는 것과 다릅니다 chroot. su - user즉, 홈 디렉토리는 여전히 루트, 즉 루트가 아닌 사용자에게 허용되지 않는 콘텐츠를 읽으려고 시도하는 /root이유입니다 .bash/root/.bashrc

두 번째 문제는 chroot 환경에 필요한 모든 공유 라이브러리를 포함하지 않아 발생할 수 있습니다. chroot정보 파일 에서 :

"bash"와 같이 동적으로 링크된 실행 파일을 사용하려면 먼저 "ldd bash"를 실행하여 필요한 공유 개체가 무엇인지 확인하세요. 그런 다음 실제 바이너리를 복사하는 것 외에도 나열된 파일을 원하는 새 루트 디렉터리 아래의 원하는 위치에 복사합니다. 마지막으로 실행 파일에 다른 파일(예: 데이터, 상태, 장치 파일)이 필요한 경우 해당 파일도 제자리에 복사하세요.

관련 정보