Linux에서 가상 /proc 파일 시스템을 사용하여 chroot에서 프로세스를 실행할 수 있습니까?

Linux에서 가상 /proc 파일 시스템을 사용하여 chroot에서 프로세스를 실행할 수 있습니까?

가상 /proc 파일 시스템을 사용하여 chroot에서 프로세스를 실행해야 하므로 해당 프로세스는 동일한 호스트에서 실행 중인 다른 프로세스에 액세스할 수 없습니다. 프로세스는 루트에서 실행되어야 하며 chroot의 파일에 대한 전체 액세스 권한이 있어야 합니다. 또한 파일 시스템에 대한 모든 변경 사항은 루트가 지정된 디렉터리에 보존되어야 합니다.

심지어 가능합니까?

답변1

chroot 환경에서 /proc를 마운트하는 것이 가능합니다 - 참조이 답변자세한 내용은.

/proc(/proc/[pid 번호]를 통해 이 정보에 액세스할 수 있음)를 통해 이 정보에 액세스할 수 있으므로 프로그램이 다른 프로세스에 액세스할 수 없을 것이라는 우려가 있습니다.

"파일 시스템 변경"이 무엇을 의미하는지 명확하지 않지만 이러한 변경 사항이 /proc, /dev/ 등과 같은 특수 비트를 제외한 파일 시스템에 대한 것이라면 chroot에 유지됩니다.

답변2

Linux 네임스페이스를 사용하여 이를 수행할 수 있습니다. 컨테이너(Docker, lxc)는 이들로 만들어집니다. man unshare당신의 친구입니다. chroot부적절하게 사용하면 공격자가 쉽게 탈출할 수 있으므로 주의하십시오 . 사용하기 전에 이에 대해 읽어보세요. 당신은 경고를 받았습니다.

관련 정보