Fügt Cloud-Init immer einen Ubuntu-Benutzer hinzu?

Fügt Cloud-Init immer einen Ubuntu-Benutzer hinzu?

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'

verwandte Informationen