chroot 

특정사용자, 그룹에 시스템환경을 제공하지만 메인시스템(상위 디렉토리)으로 접근을 방지하는 명령어


## 사용 옵션

-- help : 도움말을 출력한다.

--version : 버전 정보를 출력한다.


## 설정 방법

$ mkdir /home/aaa

$ chmod -R 755 /home/aaa

$ chroot /home/aaa

chroot: failed to run command ??/bin/bash??: No such file or directory 


## 그냥 하면 위와 같은 에러가 발생한다.

## bash를 사용하게 하기 위한 라이브러리 복사가 필요하다.


$ ldd /bin/bash

linux-vdso.so.1 =>  (0x00007fffca1fe000)

libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f6bcb4cb000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f6bcb2c7000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6bcaefe000)

/lib64/ld-linux-x86-64.so.2 (0x00007f6bcb70f000) 


## 라이브러리 경로와 동일하게 임시루트 하위에 생성

$ cd /home/aaa

$ mkdir -p lib64 lib lib/x86_64-linux-gun


## 라이브러리 복사

$ cp /lib/x86_64-linux-gnu/libtinfo.so.5 /home/aaa/lib/x86_64-linux

$ cp /lib/x86_64-linux-gnu/libdl.so.2 /home/aaa/lib/x86_64-linux

$ cp /lib/x86_64-linux-gnu/libc.so.6 /home/aaa/lib/x86_64-linux

$ cp /lib64/ld-linux-x86-64.so.2 /home/aaa/lib64


$ chroot /home/aaa

bash-4.3# ls

bash: ls: command not found 

## 동작은 하지만 다른 명령어는 찾을 수 없음

## /bin 폴더 밑에 명령어를 ldd 를 이용하여 라이블러리를 확인하고 복사하던지 통으로 복사하던지 필요함.



블로그 이미지

§§

내 주머니속 작은 수첩

,