[server] chroot와 jail의 차이점

이 튜토리얼 ( https://help.ubuntu.com/community/BasicChroot)을 읽었 /으며, 새로운 제한된 환경이 “감옥”인 동안 chroot가 변경되는 프로세스라는 것을 이해했습니다 . 그러나 어떤 사람들은 내가 틀렸다고 말하고 chroot와 jails는 완전히 다른 두 가지입니다.

누군가가 실제로 간단한 용어의 차이점을 설명 할 수 있습니까?



답변

교도소 용어는 FreeBSD 세계에서 유래 한 것으로 chBSD가 별도의 메커니즘으로 존재하지만 시스템에 대한 사용자 액세스를 제한하는보다 엄격한 방법을 의미합니다. 다음과 같습니다 (분리 수준별로 정렬).

Chroot <OS 수준 가상화 : (FreeBSD의 감옥 ≤ Linux OpenVZ) <반 가상화 : XEN


답변

짧은 대답은 “둘 다 맞아”입니다.

chroot‘에드 환경은 종종 “chroot로”라고합니다. 기본적으로 일련의 프로세스보기를 제한하여 지정된 디렉토리가 파일 시스템 루트라고 생각합니다.

이것은 jail스테로이드의 핵심 인 FreeBSD의 기능 과 혼동되어서는 안됩니다 (단순한 chroot것 보다 더 많은 분리 기능을 제공하는 추가 기능이 많이 있음 ).


명확성을 기하기 위해 chrooted 환경을 “chrooted environment”(또는 “chroot jail”이라는 전체 구를 사용하여)로 구분하여 특히 FreeBSD 시스템에 대해 이야기 할 때 가장 좋습니다.


답변

“jail”은 일반적인 용어이지만 “chroot”는 그렇지 않습니다. chroot는 프로세스 액세스를 제한 할 수있는 여러 가능성 중 하나 일뿐입니다. 나는 다른 상황에서 “감옥”에 대해 들어 본 적이 없다. AppArmor, SELinux 등을 사용하여 유사한 결과를 얻을 수 있지만 “AppArmor jail”은 일반적이지 않은 용어로 보입니다. 반면에 보안이 chroot를 사용하는 유일한 이유는 아닙니다. 효과는 동일 할 수 있지만 목표가 보안이 아니라 특정 프로세스의 특수 구성 인 특정 상황에서는 “chroot jail”에 대해 말하는 것이 거의 의미가 없습니다.


답변

“chroot”는 “여기에서 파일 시스템 루트 시작”이라고 말하고 “감옥”이외의 응용 프로그램을 가지고 있습니다 (예 : LiveCD에서 손상된 OS에 액세스 / 복구). “리눅스에서 감옥을 만드는 방법”이기도하다.


답변