[Bug 1232669] New: gdm: gdm-config not working on openSUSE
https://bugzilla.suse.com/show_bug.cgi?id=1232669 Bug ID: 1232669 Summary: gdm: gdm-config not working on openSUSE Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: GNOME Assignee: gnome-bugs@suse.de Reporter: matthias.gerstner@suse.com QA Contact: qa-bugs@suse.de CC: dimstar@opensuse.org Target Milestone: --- Found By: --- Blocker: --- Newer GDM versions ship with a `gdm-config` utility that is supposed to allow configuring things like fingerprint authentication and smartcard authentication. It turns out this utility is not working on openSUSE: gdm-config smartcard -e (gdm-config:32822): Gdm-CRITICAL **: 17:31:29.942: Failed to handle “smartcard” command: No PAM module available for Smart Card authentication The reason why it fails is, that it looks for the gdm-smartcard PAM file in /etc, not in /usr/lib/pam.d: strace gdm-config smartcard -e |& grep smartcard execve("/usr/bin/gdm-config", ["gdm-config", "smartcard", "-e"], 0x7ffeaa26de10 /* 58 vars */) = 0 newfstatat(AT_FDCWD, "/etc/pam.d/gdm-smartcard", 0x7ffed4ce4810, 0) = -1 ENOENT (No such file or directory) (gdm-config:32830): Gdm-CRITICAL **: 17:33:00.721: Failed to handle “smartcard” command: No PAM module available for Smart ) = 128 But even when working around this by placing a symlink, this still doesn't work: gdm-config smartcard -e (gdm-config:32857): Gdm-CRITICAL **: 17:38:31.688: Failed to handle “smartcard” command: Failed to run a required distro hook: No distro detected, no hook to run It seems during build time of GDM the DISTRO meson option needs to be set and a "distro hook" script needs to be specified that performs the necessary configuration steps, if any. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1232669 https://bugzilla.suse.com/show_bug.cgi?id=1232669#c1 Thorsten Kukuk <kukuk@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kukuk@suse.com --- Comment #1 from Thorsten Kukuk <kukuk@suse.com> --- (In reply to Matthias Gerstner from comment #0)
The reason why it fails is, that it looks for the gdm-smartcard PAM file in /etc, not in /usr/lib/pam.d:
This is a generic upstream bug, the official Linux-PAM config directories are since many, many years /usr/lib/pam.d and, if there is no config, /etc/pam.d as fallback. That's meanwhile used by many distributions and not openSUSE specific. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1232669 https://bugzilla.suse.com/show_bug.cgi?id=1232669#c2 xiaoguang wang <xiaoguang.wang@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xiaoguang.wang@suse.com --- Comment #2 from xiaoguang wang <xiaoguang.wang@suse.com> --- (In reply to Matthias Gerstner from comment #0)
gdm-config smartcard -e (gdm-config:32857): Gdm-CRITICAL **: 17:38:31.688: Failed to handle “smartcard” command: Failed to run a required distro hook: No distro detected, no hook to run
It seems during build time of GDM the DISTRO meson option needs to be set and a "distro hook" script needs to be specified that performs the necessary configuration steps, if any.
In meson.build file There is: distro_autodetect_map = { '/etc/redhat-release': 'redhat', '/etc/fedora-release': 'redhat', '/etc/exherbo-release': 'exherbo', '/etc/arch-release': 'arch', '/etc/lfs-release': 'lfs', } distro = get_option('distro') if distro == 'none' foreach _file, _pam_conf : distro_autodetect_map distro_check = run_command('test', '-f', _file) if distro_check.returncode() == 0 distro = _pam_conf endif endforeach endif # If requested, try autodetecting from release files (see NetworkManager source) default_pam_config = get_option('default-pam-config') if default_pam_config == 'autodetect' default_pam_config = distro endif Maybe we need add openSUSE release in distro_autodetect_map. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1232669 https://bugzilla.suse.com/show_bug.cgi?id=1232669#c3 --- Comment #3 from Thorsten Kukuk <kukuk@suse.com> --- That code is just wrong, somebody has no clue. The config search path on all this distros is the same: look in /etc/pam.d, and if there is no file, look in /usr/lib/pam.d. If you want to modify that config: If there is no file in /etc/pam.d,copy that from /usr/lib/pam.d to /etc/pam.d and modify it there. This is upstream behavior and not configurable by distributions. Even if a distribution does not use /usr/lib/pam.d by default: a third party application can use it. And if gdm-config can not handle this correct the code is broken by design and the author should start reading manual pages. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com