chroot를 사용해야 하는 이유

chroot를 사용해야 하는 이유

이 문제chroot-jail - 정의 및 사용 방법그것이 무엇을 가리키는지, 어떻게 사용하는지 chroot.

내가 이해하지 못하는 것은 왜 chroot. 대답은 " chroot프로그램이 에뮬레이트된 파일 시스템 외부의 파일을 수정하는 것을 방지하기 위해" 보안 메커니즘 으로 사용되어서는 안 된다고 지적합니다 .

특히, 프로세스가 하위 디렉터리를 루트 파일 시스템으로 매핑해야 하는 이유는 무엇입니까?

답변1

chroot 환경을 사용하는 데에는 여러 가지 이유가 있습니다. 이를 사용하여 다양한 버전의 프로그램을 유지할 수 있고, 특정 환경을 시뮬레이션하여 특정 기능을 테스트하고, 기본 시스템과 다른 시스템 이미지를 만드는 등의 작업을 할 수 있습니다.

위키피디아chroot Jails와 그 사용법에 대해 더 자세히 알려줄 수 있습니다.

거기에서:

테스트 및 개발: chroot에서 소프트웨어에 대한 테스트 환경을 설정할 수 있습니다. 그렇지 않으면 프로덕션 시스템에 배포할 위험이 너무 큽니다.

종속성 제어: 예상되는 종속성만 채워진 chroot에서 소프트웨어를 개발, 구축 및 테스트할 수 있습니다. 이는 개발자가 다양한 라이브러리 세트가 설치된 프로젝트를 빌드함으로써 발생하는 특정 유형의 연결 드리프트를 방지합니다.

호환성: 레거시 소프트웨어나 다른 ABI를 사용하는 소프트웨어는 지원 라이브러리나 데이터 파일이 호스트 시스템의 이름이나 연결과 충돌할 수 있기 때문에 chroot에서 실행해야 하는 경우가 있습니다.

다시 덮다: 시스템이 부팅되지 않으면 대체 루트 파일 시스템(예: 설치 미디어 또는 Live CD)에서 부팅한 후 chroot를 사용하여 손상된 환경으로 되돌릴 수 있습니다.

권한 분리: 프로그램이 열려 있는 파일 설명자(파일, 파이프 및 네트워크 연결용)를 chroot로 전달할 수 있도록 하여 chroot 디렉터리에 작업 파일을 보관할 필요를 없애 감옥 설계를 단순화할 수 있습니다. 이는 또한 보안 침해를 선제적으로 억제하기 위해 샌드박스에서 권한 있는 프로그램의 잠재적으로 취약한 부분을 실행하는 일반적인 배열을 단순화합니다. chroot는 루트 권한이 있는 프로세스를 포함하는 데 반드시 충분하지는 않습니다.

관련 정보