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 를 이용하여 라이블러리를 확인하고 복사하던지 통으로 복사하던지 필요함.
'Server > 명령어' 카테고리의 다른 글
[Linux] killall 명령어 옵션 정리 (0) | 2017.10.27 |
---|---|
[Linux] kill 명령어 옵션 정리 (0) | 2017.10.25 |
[Linux] at 명령어 옵션 정리 (0) | 2017.07.21 |
[Linux] mount 명령어 옵션 정리 [추가필요] (0) | 2017.07.19 |
[Linux] dd 명령어 옵션 정리 (0) | 2017.07.14 |