chroot

dandb3·2023년 8월 6일
0

몰?루

목록 보기
2/2

Change Root Directory의 줄임말.

chroot를 통해 해당 프로세스로 하여금 root 디렉토리의 경로를 기존 / 에서 다른 디렉토리로 바꿀 수 있다.

chroot [ 경로 ][ command ] 의 형태로 사용.

장점

  • 기존 root 디렉토리의 하위 디렉토리를 프로세스의 root로 설정할 수 있다. -> 프로세스 기준 root 디렉토리 외부의 파일에 접근할 수 없다. (그래서 jail 이라고 불림, 하지만 탈출하는 방법도 있다 -> jailbreak(탈옥) 이라고 불림.)
  • 컨테이너의 격리에 사용된다.

ex) root 경로를 /A로 바꾸고 bash를 실행해 보자~

chroot /A /bin/bash
-> 실행 안 됨.

이유 : 두 번째로 오는 인자인 /bin/bash는 root디렉토리를 /A로 보기 때문에 /A/bin/bash를 찾게 된다.

해결 : /A 아래에 /bin/bash를 복붙한다.
-> 실행 안 됨.

이유 : 실제로 /A/bin/bash는 존재하지만, /A/bin/bash는 공유 라이브러리를 자신을 기준으로 /bin/...으로 찾기 때문에 실제로는 /A/bin/...으로 찾게 됨.

해결 : /A 아래에 필요한 라이브러리 파일들도 복붙한다. 이 때, 의존성을 가지는 라이브러리는 ldd 명령어를 이용해서 찾을 수 있다.

profile
공부 내용 저장소

1개의 댓글

comment-user-thumbnail
2023년 8월 6일

좋은 글이네요. 공유해주셔서 감사합니다.

답글 달기