chroot를 실행한 후 감옥에 있는 Nodejs 복사본이 노드 콘솔을 시작하지 않습니까?

chroot를 실행한 후 감옥에 있는 Nodejs 복사본이 노드 콘솔을 시작하지 않습니까?

감옥에 갇힌 시스템에서 nodejs를 실행하기 위해 chroot를 사용하려고 합니다. 제가 감옥을 만들고 싶은 곳은 [mnt/mylinux]입니다: chroot 감옥 bash와 모든 종속성[을 사용하여 발견됨 ldd]은 감옥의 올바른 폴더에 복사됩니다. 다음과 같이 nodejs를 bin 폴더에 복사했습니다.

노드 폴더 대상

그런 다음 node[using] 에 필요한 모든 종속성도 복사했습니다 ldd. 이제 chroot를 하고 노드를 호출하려고 하면 콘솔이 열리지 않습니까? 여기에 이미지 설명을 입력하세요.

노드는 chroot 없이도 잘 작동합니다. 여기에 이미지 설명을 입력하세요.

노드에 필요한 모든 종속성을 감옥에 복사했습니다. 그렇다면 왜 nodejs는 감옥을 만든 후에 콘솔을 시작하지 않습니까?

답변1

분명히 필요한 것이 누락되었습니다.

  • /proc
  • /sys/
  • /dev
  • /dev/pts

파일을 실행하면 strace문제가 드러날 수 있습니다.

답변2

mount --bind /dev $chroot/dev

mount --bind /proc $chroot/proc

그러면 효과가 있었어요!

Hauke ​​Larkin님, 감사합니다.

관련 정보