이미지에 root 패스워드 변경하는법은 다양하지만 여기선 libguestfs-tools 라는 것을 사용해서 하겠다!
이미지는 우분투 이미지를 사용
우분투 이미지 다운
wget을 이용하여 ubuntu-18.04 클라우드 이미지를 다운로드 한다.
$ wget https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
virt-cunstomize를 이용하여 이미지 편집
# ubuntu
$ sudo apt install libguestfs-tools
# centos
$ sudo yum install libguestfs-tools
아래와 같이 Finishing off 가 뜨면 패스워드 변경이 완료가 되었다!
$ virt-customize -a $CLOUD_IMAGE --root-password password:$PASSWD
[ 0.0] Examining the guest ... [ 44.6] Setting a random seed
virt-customize: warning: random seed could not be set for this type of
guest
[ 44.7] Setting the machine ID in /etc/machine-id
[ 44.7] Setting passwords
[ 71.6] Finishing off
virt-customize 오류 및 해결방법
명령어를 실행하면 아래와 같이 오류가 발생하는 경우가 있다.
$ virt-customize -a $CLOUD_IMAGE --root-password password:$PASSWD
[ 0.0] Examining the guest ... virt-customize: error: libguestfs error: /usr/bin/supermin exited with
error status 1.
To see full error messages you may need to enable debugging.
Do: export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 ………
If reporting bugs, run virt-customize with debugging enabled and include
the complete output:
virt-customize -v -x [...]
해결전에 먼저 virt-customize가 무엇을 하는놈인지 보자
virt-customize는 가상 머신 수정할 때 사용하는 명령어이다.
또한 이미지도 수정이 가능한데 이미지를 수정할 때 QEMU로 이미지의 커널을 부팅할 때 ‘vmlinuz’파일을 사용한다.
그럼 저 파일의 권한을 살펴보자.
권한을 보면 root만 사용가능하게 설정이 되어있다.
$ ls -l /boot/vmlinuz*
-rw------- 1 root root ... /boot/vmlinuz-4.15.0-147-generic
-rw------- 1 root root ... /boot/vmlinuz-4.15.0-159-generic
-rw------- 1 root root ... /boot/vmlinuz-4.15.0-161-generic
그래서 일반 사용자가 사용하게 되면 퍼미션 에러가 발생한다.
해결방법은 아래 처럼 권한을 변경해주면 되지만, 그것은 보안문제 안좋기 때문에 sudo를 사용하거나 root사용자로 실행하는것이 옳다고 본다.
방법 1 (위험)
$ sudo chmod 0644 /boot/vmlinuz*
방법 2
$ sudo virt-customize -a $CLOUD_IMAGE --root-password password:$PASSWD
방법 3 (root사용자)
# virt-customize -a $CLOUD_IMAGE --root-password password:$PASSWD
'Cloud > Openstack' 카테고리의 다른 글
openstack 최신 yoga버전 수동 설치 - Keystone (0) | 2022.05.11 |
---|---|
openstack 최신 bobcat 버전 수동 설치 - Environment (0) | 2022.05.11 |
Openstack Instance VNC URL 접속법 (0) | 2021.06.09 |
[heat] YAML파일 Example (0) | 2021.05.21 |
Openstack - cinder 크기 확장 (0) | 2021.05.17 |