chroot
$ chroot <NEW_ROOT_PATH> <CMD>
$ chroot <OPTION>
- 가상의 root를 만든다.
- 가상으로 설정할
<NEW_ROOT_PATH>
에 시스템 운영에 필요한 라이브러리 및 실행 파일을 복사해 두고,
chroot <NEW_ROOT_PATH>
로 명령을 내리면 가상 root 시스템으로 들어간다.
- 시스템
/
아래의 구조가 같고 환경이 구성되면 그 위에 프로그램을 동작 시킬 수 있다.
- 여기서 실행하는 프로그램들은 기반 시스템의 쉘에 접근하지 못하므로 보안상 유리하다.
<CMD>
로 <NEW_ROOT_PATH>
로 지정한 새로운 루트 경로상에서 실행할 수 있다.
nfs rootfs
- path:
/nfs/client1_rootfs/
$ rsync -ax --progress --exclude <EXCLUDE_PATTERN> \
/ /nfs/client1_rootfs/
$ cd /nfs/client1
$ sudo mount --bind /dev dev
$ sudo mount --bind /sys sys
$ sudo mount --bind /proc proc
$ sudo chroot . rm /etc/ssh/ssh_host_*
$ sudo chroot . dpkg-reconfigure openssh-server
$ sudo chroot . systemctl enable ssh
$ sudo umount dev sys proc