Ich verwende Packer und Cloud-Init, um Vorlagen für Proxmox zu erstellen. Ich bin so ratlos und genervt. Jedes Mal, wenn ich eine Vorlage erstelle, wird mein Benutzer mit einer UID und GID 1000 erstellt und gleich danach wird der Ubuntu-Benutzer mit einer UID von 1001 und einer GID von 1002 erstellt. Ich kann nicht feststellen, dass dies irgendjemandem irgendwo passiert. Ich habe die Dokumentation gelesen und dort steht, dass, wenn ein Benutzer definiert ist, der Ubuntu-Benutzer nicht erstellt wird. Habe ich Unrecht? Ich habe so viele unterschiedliche Cloud-Konfigurationen, dass ich sie nicht zählen kann. Um es noch ärgerlicher zu machen, ist jedes Mal, wenn ich versuche, den Ubuntu-Benutzer automatisch zu entfernen, nachdem die Vorlage erstellt wurde, beim nächsten Booten der Ubuntu-Benutzer gleich wieder da. Ich bin so ratlos. Bin über einen seltsamen Fehler gestolpert und mache ich etwas falsch? Ich habe die Protokolle wie verrückt durchgesehen und dort steht nur, dass der Ubuntu-Benutzer erstellt wurde, es wird kein Grund erwähnt.
#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)
Antwort1
Dieses Problem tritt auch bei 22.04.2 ISO und Packer Proxmox v1.1.3 auf.
Als Workaround habe ich einfach ein Ansible-Playbook hinzugefügt, das ich hier teilen kann.
- 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'