Bug 1539106 - gdm autologin does not set /etc/environment variables anymore (regression)
gdm autologin does not set /etc/environment variables anymore (regression)
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gdm (Show other bugs)
7.4
All Linux
unspecified Severity medium
: rc
: ---
Assigned To: Ray Strode [halfline]
Desktop QE
: Regression
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2018-01-26 11:45 EST by Andreas Luik
Modified: 2018-05-17 10:39 EDT (History)
5 users (show)

See Also:
Fixed In Version: gdm-3.26.2.1-4.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 09:10:18 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Repair autologin PAM configuration following rebase. (14.43 KB, patch)
2018-01-30 10:46 EST, Ray Strode [halfline]
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0770 None None None 2018-04-10 09:11 EDT

  None (edit)
Description Andreas Luik 2018-01-26 11:45:22 EST
Description of problem:

Since the update to RHEL 7.4 (from 7.3), the environment variables from /etc/environment are not set by gdm anymore, if autologin is enabled (AutomaticLoginEnable=true).

This did work before the update, so it seems to be a regression.  In fact it seems that the considerable changes in /etc/pam.d/gdm-autologin seem to be the cause.

Notice: adding the following line solves the problem:

auth       required    pam_env.so

But I'm not sure whether this is the right fix ...

Version-Release number of selected component (if applicable): gdm-3.22.3-12.el7.x86_64


How reproducible: always


Steps to Reproduce:

1. echo "TESTVAR=myval" > /etc/environment
2. killall gdm
3. login as "localuser", open terminal, check environment: TESTVAR is set

4. Now enable gdm autologin: in /etc/gdm/custom.conf, add these settings in the [daemon] block:

AutomaticLoginEnable=true
AutomaticLogin=localuser

5. killall gdm
6. gdm automatically logins as "myuser", open terminal, check environment

Actual results:

TESTVAR is not set in environment

Expected results:

TESTVAR is set to "myval" in environment


Additional info:
This did work in RHEL 6.x and 7.3.
Comment 2 Ray Strode [halfline] 2018-01-26 14:59:37 EST
i believe your fix is correct.  at some point upstream systemd started taking over the role of pam_env, so it got dropped from the pam service file.  downstream, we still depend on pam_env so need to reintroduce it.
Comment 4 Andreas Luik 2018-01-30 08:34:01 EST
OK.  I'll (temporarily) add pam_env.so to gdm-autologin.  I'm curious how the final fix is gonna look like ... the pam.d/gdm-autologin changes since 7.3 are a little hard to understand: pam_gdm.so is only used there (and not documented), "auth include postlogin" is not included anymore (for whatever reason?).
Comment 5 Ray Strode [halfline] 2018-01-30 10:46 EST
Created attachment 1388505 [details]
Repair autologin PAM configuration following rebase.

Resolves: #1539106
Comment 10 errata-xmlrpc 2018-04-10 09:10:18 EDT
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, 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-2018:0770

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