특정 사용자로 chroot를 시도하고 있습니다. 한 사용자에게는 작동하지만 다른 사용자에게는 작동하지 않습니다. 무슨 일이 일어나고 있는지 모르겠습니다.
내 /etc/passwd
chroot 디렉토리는 다음과 같습니다(관련 부분):
test0:x:1000:1000:test0:/home/test:/bin/bash
test1:x:1001:1001:test1:/home/test:/bin/bash
sudo chroot --userspec=test0 chroot_dir/ /bin/bash --login
좋은 결과sudo chroot --userspec=test1 chroot_dir/ /bin/bash --login
설명하다chroot: failed to run command ‘/bin/bash’: Permission denied
/bin/bash
chroot: 내 사용자 이름이 시스템에 있는 세부 정보입니다-rwxr-xr-x 1 user user 455188 Sep 19 08:58
.user
test1
사용자에게 왜 작동하지 않는지에 대한 아이디어가 있습니까 ? 더 많은 정보가 필요하시면 문의해 주시면 올려드리겠습니다. 미리 감사드립니다.
답변1
사용자 네임스페이스 가 있는 경우 chroot
(여기서는 사용자 네임스페이스가 없는 경우), 지정한 명령을 실행하는 데 필요한 디렉터리와 파일은 chroot
지정한 사용자가 액세스할 수 있어야 합니다. 여기에는 다음이 포함됩니다.
- chroot 루트;
bin
그리고bin/bash
chroot에서;lib
그리고 거기에 사용된 라이브러리가bash
있다면 (그 라이브러리ldd bin/bash
가 무엇인지 알려줄 것입니다)bash
시작할 시기home/test
및 시작 스크립트(.bashrc
필요한 경우 등).
실행하면 chmod -R 777
이 모든 것이 확실히 해결됩니다. 사용자 ID 1001이 해당 파일을 읽고 실행할 수 있는 한 더 제한적인 권한을 사용할 수 있습니다. 시작을 허용 chmod -R 755 bin lib
합니다 .chmod 755 .
bash