RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1961746 - systemd --user fails to start if user's password expired
Summary: systemd --user fails to start if user's password expired
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: systemd
Version: 8.3
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Jan Macku
QA Contact: Frantisek Sumsal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-18 15:45 UTC by Renaud Métrich
Modified: 2024-06-14 01:32 UTC (History)
7 users (show)

Fixed In Version: systemd-239-59.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-11-08 10:49:17 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github redhat-plumbers systemd-rhel8 pull 225 0 None open pam: do not require a non-expired password for user@.service 2021-10-21 12:39:55 UTC
Github systemd systemd pull 19773 0 None closed Use pam_unix no_pass_expiry 2021-06-01 18:12:02 UTC
Red Hat Knowledge Base (Solution) 6311871 0 None None None 2021-09-06 18:34:34 UTC
Red Hat Product Errata RHBA-2022:7727 0 None None None 2022-11-08 10:49:44 UTC

Description Renaud Métrich 2021-05-18 15:45:51 UTC
Description of problem:

When a user enabled "lingering" and the user's password expired, the "systemd --user" instance for the user fails to start and enters failed state.
To recover, it's necessary for some admin to reset the state, which is problematic.


Version-Release number of selected component (if applicable):

systemd-239 (tested on latest from 8.3.0)

How reproducible:

Always


Steps to Reproduce:
1. Create a user, set a password and set lingering

  # useradd user
  # echo "redhat" | passwd --stdin user
  # loginctl enable-linger user

2. Expire the password

  # passwd -e user

3. Reboot the system and check user@<id> state

  # systemctl status user@$(id -u user).service

Actual results:

May 18 16:23:28 vm-rhel8 systemd[1]: Starting User Manager for UID 1009...
May 18 16:23:28 vm-rhel8 systemd[1247]: pam_unix(systemd-user:account): expired password for user user (root enforced)
May 18 16:23:28 vm-rhel8 systemd[1247]: PAM failed: Authentication token is no longer valid; new one required
May 18 16:23:28 vm-rhel8 systemd[1247]: user: Failed to set up PAM session: Operation not permitted
May 18 16:23:28 vm-rhel8 systemd[1247]: user: Failed at step PAM spawning /usr/lib/systemd/systemd: Oper>
May 18 16:23:28 vm-rhel8 systemd[1]: user: Failed with result 'protocol'.
May 18 16:23:28 vm-rhel8 systemd[1]: Failed to start User Manager for UID 1009.

Expected results:

instance starts anyway? of maybe not but no failed state then.


Additional info:

Comment 1 Zbigniew Jędrzejewski-Szmek 2021-06-01 14:24:49 UTC
https://github.com/systemd/systemd/pull/19773

Comment 2 Plumber Bot 2021-11-19 15:10:45 UTC
fix merged to github master branch -> https://github.com/redhat-plumbers/systemd-rhel8/pull/225

Comment 21 errata-xmlrpc 2022-11-08 10:49:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (systemd bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:7727

Comment 24 Christopher Neylan 2022-11-15 19:30:08 UTC
Why does the actual package (systemd-239-68.el8) deploy an /etc/pam.d/systemd-user that contains the lines "account include system-auth" and "session include system-auth", when the template containing this fix (https://github.com/redhat-plumbers/systemd-rhel8/blob/master/src/login/systemd-user.m4) does not?

Comment 25 David Tardon 2022-12-01 12:57:04 UTC
(In reply to Christopher Neylan from comment #24)
> Why does the actual package (systemd-239-68.el8) deploy an
> /etc/pam.d/systemd-user that contains the lines "account include
> system-auth" and "session include system-auth", when the template containing
> this fix
> (https://github.com/redhat-plumbers/systemd-rhel8/blob/master/src/login/
> systemd-user.m4) does not?

Because the upstream file is generic, while the one we ship is tailored for the PAM setup used by Fedora/RHEL.


Note You need to log in before you can comment on or make changes to this bug.