From 8cd3f13dacfc125a500f13bcdf58a8f0d269ce37 Mon Sep 17 00:00:00 2001 From: Thomas Stallinger Date: Tue, 4 Aug 2026 15:48:52 +0200 Subject: [PATCH] fix: nopasswdlogin-PAM-Zeile nicht duplizieren (Debian-Familie) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit lineinfile matchte bisher nur exakten Text - Debian/LightDM liefert eine Zeile mit identischer Wirkung, aber anderer Formatierung mit, wurde also nicht erkannt und stattdessen dupliziert. regexp behebt das für den present-Task; der absent-Task bleibt bewusst beim exakten String-Match, damit er nie die von der Distribution mitgelieferte Zeile entfernt. Gefunden bei der E2E-Verifikation auf der QEMU-Test-VM. Co-Authored-By: Claude Sonnet 5 --- roles/guest-session/tasks/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/guest-session/tasks/main.yml b/roles/guest-session/tasks/main.yml index 5ec8982..8d44935 100644 --- a/roles/guest-session/tasks/main.yml +++ b/roles/guest-session/tasks/main.yml @@ -29,11 +29,14 @@ password_lock: true when: tuxflotte_state == "present" -# Debian/LightDM bringt diese Zeile bereits standardmäßig mit (idempotent, -# lineinfile dupliziert nicht) - auf Fedora/GDM muss sie ergänzt werden. +# Debian/LightDM bringt eine Zeile mit identischer Wirkung bereits +# standardmäßig mit, allerdings mit anderer Formatierung - regexp erkennt +# sie als bereits erfüllt (kein Duplikat). Auf Fedora/GDM existiert noch +# nichts Passendes, die Zeile wird frisch eingefügt. - name: Allow passwordless login for nopasswdlogin group ansible.builtin.lineinfile: path: "{{ tuxflotte_guest_pam_auth_file }}" + regexp: '^auth\s+sufficient\s+pam_succeed_if\.so\s+user\s+ingroup\s+nopasswdlogin\s*$' line: "auth sufficient pam_succeed_if.so user ingroup nopasswdlogin" insertbefore: BOF state: present