감옥에 갇힌 시스템에서 nodejs를 실행하기 위해 chroot를 사용하려고 합니다. 제가 감옥을 만들고 싶은 곳은 [mnt/mylinux]입니다:
bash와 모든 종속성[을 사용하여 발견됨 ldd
]은 감옥의 올바른 폴더에 복사됩니다. 다음과 같이 nodejs를 bin 폴더에 복사했습니다.
그런 다음 node[using] 에 필요한 모든 종속성도 복사했습니다 ldd
. 이제 chroot를 하고 노드를 호출하려고 하면 콘솔이 열리지 않습니까?
노드에 필요한 모든 종속성을 감옥에 복사했습니다. 그렇다면 왜 nodejs는 감옥을 만든 후에 콘솔을 시작하지 않습니까?
답변1
분명히 필요한 것이 누락되었습니다.
/proc
/sys/
/dev
/dev/pts
파일을 실행하면 strace
문제가 드러날 수 있습니다.
답변2
mount --bind /dev $chroot/dev
mount --bind /proc $chroot/proc
그러면 효과가 있었어요!
Hauke Larkin님, 감사합니다.