- Fix autologin
This commit is contained in:
parent
2ebb36ca5f
commit
afb90ea534
154
fix-autologin.patch
Normal file
154
fix-autologin.patch
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
From 0a7779b47319eb47b4d5d51f6eb653434c204c29 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
|
Date: Tue, 30 Aug 2016 16:10:19 -0400
|
||||||
|
Subject: [PATCH 1/2] pam_gdm: return AUTHINFO_UNAVAIL if kernel keyring
|
||||||
|
unavailable
|
||||||
|
|
||||||
|
right now we return PAM_SUCCESS if keyutils are unavailable.
|
||||||
|
This is the wrong default, we should fail if we aren't able to
|
||||||
|
get the password.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=770612
|
||||||
|
---
|
||||||
|
pam_gdm/pam_gdm.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/pam_gdm/pam_gdm.c b/pam_gdm/pam_gdm.c
|
||||||
|
index 7beb04e..f491b8d 100644
|
||||||
|
--- a/pam_gdm/pam_gdm.c
|
||||||
|
+++ b/pam_gdm/pam_gdm.c
|
||||||
|
@@ -31,61 +31,61 @@
|
||||||
|
#include <keyutils.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
pam_sm_authenticate (pam_handle_t *pamh,
|
||||||
|
int flags,
|
||||||
|
int argc,
|
||||||
|
const char **argv)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_KEYUTILS
|
||||||
|
int r;
|
||||||
|
void *cached_password = NULL;
|
||||||
|
key_serial_t serial;
|
||||||
|
|
||||||
|
serial = find_key_by_type_and_desc ("user", "cryptsetup", 0);
|
||||||
|
if (serial == 0)
|
||||||
|
return PAM_AUTHINFO_UNAVAIL;
|
||||||
|
|
||||||
|
r = keyctl_read_alloc (serial, &cached_password);
|
||||||
|
if (r < 0)
|
||||||
|
return PAM_AUTHINFO_UNAVAIL;
|
||||||
|
|
||||||
|
r = pam_set_item (pamh, PAM_AUTHTOK, cached_password);
|
||||||
|
|
||||||
|
free (cached_password);
|
||||||
|
|
||||||
|
if (r < 0)
|
||||||
|
return PAM_AUTH_ERR;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- return PAM_SUCCESS;
|
||||||
|
+ return PAM_AUTHINFO_UNAVAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
pam_sm_setcred (pam_handle_t *pamh,
|
||||||
|
int flags,
|
||||||
|
int argc,
|
||||||
|
const char **argv)
|
||||||
|
{
|
||||||
|
return PAM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
pam_sm_acct_mgmt (pam_handle_t *pamh,
|
||||||
|
int flags,
|
||||||
|
int argc,
|
||||||
|
const char **argv)
|
||||||
|
{
|
||||||
|
return PAM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
pam_sm_chauthtok (pam_handle_t *pamh,
|
||||||
|
int flags,
|
||||||
|
int argc,
|
||||||
|
const char **argv)
|
||||||
|
{
|
||||||
|
return PAM_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
||||||
|
|
||||||
|
From 5716de2c0ec11a77c279c6952ea76d173d46b0e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
|
Date: Tue, 30 Aug 2016 15:58:15 -0400
|
||||||
|
Subject: [PATCH 2/2] pam: don't call into pam_unix if pam_gdm fails for
|
||||||
|
autolgoin
|
||||||
|
|
||||||
|
If pam_gdm fails we shouldn't call into pam_unix since it can lead
|
||||||
|
to the system asking for a password, and autologin isn't equipped for
|
||||||
|
that.
|
||||||
|
|
||||||
|
This commit changes the pam configuration to jump to pam_permit if
|
||||||
|
pam_gdm fails.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=770612
|
||||||
|
---
|
||||||
|
data/pam-exherbo/gdm-autologin.pam | 4 ++--
|
||||||
|
data/pam-redhat/gdm-autologin.pam | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/data/pam-exherbo/gdm-autologin.pam b/data/pam-exherbo/gdm-autologin.pam
|
||||||
|
index afde048..61f8e54 100644
|
||||||
|
--- a/data/pam-exherbo/gdm-autologin.pam
|
||||||
|
+++ b/data/pam-exherbo/gdm-autologin.pam
|
||||||
|
@@ -1,15 +1,15 @@
|
||||||
|
# mirrors system-auth / system(-local)-login
|
||||||
|
# except for the authentication method, which is:
|
||||||
|
# always permit login
|
||||||
|
|
||||||
|
-auth optional pam_gdm.so
|
||||||
|
+auth [success=ok default=2] pam_gdm.so
|
||||||
|
auth substack system-local-login
|
||||||
|
-auth sufficient pam_permit.so
|
||||||
|
-auth optional pam_gnome_keyring.so
|
||||||
|
+auth sufficient pam_permit.so
|
||||||
|
|
||||||
|
account include system-local-login
|
||||||
|
|
||||||
|
password include system-local-login
|
||||||
|
|
||||||
|
session include system-local-login
|
||||||
|
-session optional pam_gnome_keyring.so auto_start
|
||||||
|
diff --git a/data/pam-redhat/gdm-autologin.pam b/data/pam-redhat/gdm-autologin.pam
|
||||||
|
index c2efea8..fbc9d9c 100644
|
||||||
|
--- a/data/pam-redhat/gdm-autologin.pam
|
||||||
|
+++ b/data/pam-redhat/gdm-autologin.pam
|
||||||
|
@@ -1,18 +1,18 @@
|
||||||
|
#%PAM-1.0
|
||||||
|
-auth optional pam_gdm.so
|
||||||
|
+auth [success=ok default=2] pam_gdm.so
|
||||||
|
auth substack password-auth
|
||||||
|
auth optional pam_gnome_keyring.so
|
||||||
|
auth sufficient pam_permit.so
|
||||||
|
auth include postlogin
|
||||||
|
account required pam_nologin.so
|
||||||
|
account include system-auth
|
||||||
|
password include system-auth
|
||||||
|
session required pam_selinux.so close
|
||||||
|
session required pam_loginuid.so
|
||||||
|
session optional pam_console.so
|
||||||
|
session required pam_selinux.so open
|
||||||
|
session optional pam_keyinit.so force revoke
|
||||||
|
session required pam_namespace.so
|
||||||
|
session include system-auth
|
||||||
|
session optional pam_gnome_keyring.so auto_start
|
||||||
|
session include postlogin
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
8
gdm.spec
8
gdm.spec
@ -10,7 +10,7 @@
|
|||||||
Summary: The GNOME Display Manager
|
Summary: The GNOME Display Manager
|
||||||
Name: gdm
|
Name: gdm
|
||||||
Version: 3.21.90
|
Version: 3.21.90
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: User Interface/X
|
Group: User Interface/X
|
||||||
@ -86,6 +86,8 @@ Provides: gdm-plugin-smartcard = %{epoch}:%{version}-%{release}
|
|||||||
Obsoletes: gdm-plugin-fingerprint < 1:3.2.1
|
Obsoletes: gdm-plugin-fingerprint < 1:3.2.1
|
||||||
Provides: gdm-plugin-fingerprint = %{epoch}:%{version}-%{release}
|
Provides: gdm-plugin-fingerprint = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
Patch0: fix-autologin.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GDM provides the graphical login screen, shown shortly after boot up,
|
GDM provides the graphical login screen, shown shortly after boot up,
|
||||||
log out, and when user-switching.
|
log out, and when user-switching.
|
||||||
@ -101,6 +103,7 @@ files needed to build custom greeters.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1 -b .fix-autologin
|
||||||
|
|
||||||
autoreconf -i -f
|
autoreconf -i -f
|
||||||
intltoolize -f
|
intltoolize -f
|
||||||
@ -295,6 +298,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
|
|||||||
%{_libdir}/pkgconfig/gdm.pc
|
%{_libdir}/pkgconfig/gdm.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 30 2016 Ray Strode <rstrode@redhat.com> - 1:3.21.90-2
|
||||||
|
- Fix autologin
|
||||||
|
|
||||||
* Tue Aug 23 2016 Kalev Lember <klember@redhat.com> - 1:3.21.90-1
|
* Tue Aug 23 2016 Kalev Lember <klember@redhat.com> - 1:3.21.90-1
|
||||||
- Update to 3.21.90
|
- Update to 3.21.90
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user