Proxmox용 템플릿을 생성하기 위해 Packer와 cloud-init를 사용하고 있습니다. 나는 너무 길을 잃고 짜증이 난다. 템플릿을 만들 때마다 내 사용자는 uid와 gid 1000으로 생성되고 그 직후 Ubuntu 사용자는 uid 1001과 gid 1002로 생성됩니다. 어디에서나 이런 일이 일어나는 것을 찾을 수 없습니다. 문서를 읽었는데 사용자가 정의되면 Ubuntu 사용자가 생성되지 않는다고 나와 있습니다. 제가 틀렸습니까? 셀 수 없을 만큼 다양한 클라우드 구성이 있습니다. 템플릿이 생성된 후 자동화를 통해 Ubuntu 사용자를 제거하려고 할 때마다 더 짜증나게 만들기 위해 다음 부팅 시 Ubuntu 사용자가 바로 거기에 있습니다. 나는 정말 헤매고 있습니다. 이상한 버그를 발견했는데 제가 뭔가 잘못하고 있나요? 나는 미친 듯이 로그를 살펴보았는데 우분투 사용자가 생성되었다는 것만 나와 있고 그 이유에 대해서는 언급이 없습니다.
#cloud-config
autoinstall:
version: 1
locale: en_US
keyboard:
layout: us
ssh:
install-server: true
allow-pw: true
disable_root: true
ssh_quiet_keygen: true
allow_public_ssh_keys: true
packages:
- qemu-guest-agent
- sudo
storage:
layout:
name: direct
swap:
size: 0
user-data:
package_upgrade: false
timezone: (user timezone)
users:
- name: (user)
groups: [adm, sudo]
lock-passwd: false
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
passwd:(user password)
ssh_authorized_keys:
- (user ssh key)
답변1
22.04.2 iso 및 packer proxmox v1.1.3에서도 이 문제가 나타납니다.
해결 방법으로 실행할 수 있는 플레이북을 추가하고 여기에서 공유했습니다.
- name: Remove the user 'ubuntu'
ansible.builtin.user:
name: ubuntu
state: absent
remove: yes #delete dirs
- name: Remove sudo access for deleted 'ubnt' user
ansible.builtin.lineinfile:
path: /etc/sudoers.d/90-cloud-init-users
state: absent
search_string: 'ubuntu ALL=(ALL) NOPASSWD:ALL'
validate: 'visudo -cf %s'
- name: Remove left over config for deleted 'ubnt' user
ansible.builtin.lineinfile:
path: /etc/sudoers.d/90-cloud-init-users
state: absent
search_string: '# User rules for ubuntu'
validate: 'visudo -cf %s'