Bug 1730586 - autofs does not mount NFS homedirs when using sssd with for identity and authentication (patch with fix included)
Summary: autofs does not mount NFS homedirs when using sssd with for identity and auth...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: sssd
Version: 30
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Michal Zidek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-17 07:41 UTC by Bas Hulsken
Modified: 2020-05-26 16:48 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-26 16:48:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Bas Hulsken 2019-07-17 07:41:18 UTC
Description of problem:

On a workstation using Kerberos to login and autofs to mount NFS homedirs, the homedirs do not get mounted on login, because sssd starts before the workstation is able to reach the server

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

sssd-common-2.2.0-3.fc30.x86_64

How reproducible:

install fc 30 system from scratch, configure kerberos, autofs to mount NFS homedirs. Boot, and autofs does not mount the homedirs. Manually restarting (systemctl restart) sssd.service and autofs.service fixes this.

Steps to Reproduce:
1. Boot fresh fc30
2. Find autofs is not mounting homedirs, users can't login on NFS home instead using local home at mountpoint
3. systemctl restart sssd and autofs
4. Now users can login and get their NFS home

Actual results:

No autofs mounted homedirs

Expected results:

autofs mounts homedirs and users can login to their homedir

Fix to problem:
patching the sssd.service file to wait for network online fixes this issue. E.g. with below patch

--- sssd.service	2019-07-17 09:37:15.495945708 +0200
+++ sssd.service.fix	2019-07-17 09:36:58.059009927 +0200
@@ -2,7 +2,8 @@
 Description=System Security Services Daemon
 # SSSD must be running before we permit user sessions
 Before=systemd-user-sessions.service nss-user-lookup.target
-Wants=nss-user-lookup.target
+Wants=nss-user-lookup.target network-online.target
+After=network-online.target
 
 [Service]
 Environment=DEBUG_LOGGER=--logger=files



Additional info:

sssd configured with:
sudo authconfig --enableldap --enableldapauth \
  --ldapserver=ldaps://example.com \
  --ldaploadcacert=file:///etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem \
  --ldapbasedn="dc=example,dc=com" --updateall

content of file [sssd.conf]:
domain/default]

debug_level = 1
id_provider = ldap
autofs_provider = ldap
auth_provider = krb5
krb5_server = example.com
krb5_realm = EXAMPLE.COM
chpass_provider = krb5
sudo_provider = ldap
ldap_sudo_search_base = ou=SUDOers,dc=example,dc=com
ldap_uri = ldaps://example.com
ldap_search_base = dc=example,dc=com
cache_credentials = True
ldap_autofs_map_object_class = automountMap
ldap_autofs_entry_object_class = automount
ldap_autofs_map_name = automountMapName
ldap_autofs_entry_key = automountKey
ldap_autofs_entry_value = automountInformation
[sssd]
services = nss, pam, autofs, sudo
  
domains = default
[nss]
homedir_substring = /home

[pam]

[sudo]

[autofs]
debug_level = 1

[ssh]

[pac]

[ifp]

[secrets]

[session_recording]

Comment 1 Alexander Bokovoy 2019-07-17 07:59:41 UTC
https://pagure.io/SSSD/sssd/issue/3467 should have fixed the issue of not detecting online state when starting before network goes online.

You don't need to modify sssd.service file -- it is possible to create a local override instead:

# cat /etc/systemd/system/sssd.service.d/network.conf
[Unit]
Before=systemd-user-sessions.service nss-user-lookup.target network-online.target
Wants=nss-user-lookup.target network-online.target

Even though SSSD starts in offline mode, it will try to connect to the server on first authentication request.

Finally, there is no full-featured authconfig in Fedora 30. Some options you provided are not supported by authselect's compatibility layer.

Comment 2 Jakub Hrozek 2019-07-23 18:48:15 UTC
There's also a long-standing issue where sssd returns the same error code to autofs for "I don't know the maps (yet)" and "There are no maps". This is something we'll fix in the upcoming weeks, for one of the next RHEL releases. It might be nice to see sssd logs to rule out that #3467 is fixed properly and sssd starts with the 'delayed' online detection.

Comment 3 Bas Hulsken 2019-07-30 10:10:34 UTC
apologies for the slow reply.. vacation.

@Alexander, thanks! Your suggestion for override works for me, and saves the hassle of updating sssd.service after every upgrade.


@Jakun:

I'm running sssd-2.2.0-3.fc30.x86_64, I am not sure whether that contains the fix for #3467 (it went in 4 months ago, so probably it has, but the rpm changelog does not explicitly mention it). 

He are the logs for sssd and autofs.. (not very helpful it seems, I can run again with the verbosity/debug level if you can tell me which levels are most helpful)

sssd log:
-- Reboot --
Jul 30 10:31:26 example.com systemd[1]: Starting System Security Services Daemon...
Jul 30 10:32:01 example.com sssd[694]: Starting up
Jul 30 10:32:06 example.com sssd[be[implicit_files]][998]: Starting up
Jul 30 10:32:06 example.com sssd[be[default]][999]: Starting up
Jul 30 10:32:10 example.com sssd[nss][1052]: Starting up
Jul 30 10:32:10 example.com sssd[autofs][1054]: Starting up
Jul 30 10:32:10 example.com sssd[pam][1053]: Starting up
Jul 30 10:32:10 example.com sssd[sudo][1055]: Starting up
Jul 30 10:32:15 example.com systemd[1]: Started System Security Services Daemon.
Jul 30 10:33:00 example.com sssd[be[default]][999]: Backend is offline
Jul 30 10:33:07 example.com sssd[be[default]][999]: Backend is online

autofs log:
-- Reboot --
Jul 30 10:33:03 example.com systemd[1]: Starting Automounts filesystems on demand...
Jul 30 10:34:34 example.com automount[2200]: lookup_read_master: lookup(sss): getautomntent_r: Invalid argument
Jul 30 10:34:35 example.com automount[2200]: setautomntent: lookup(sss): setautomntent: No such file or directory
Jul 30 10:34:35 example.com systemd[1]: Started Automounts filesystems on demand.

Comment 4 Ben Cotton 2020-04-30 21:15:14 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 5 Ben Cotton 2020-05-26 16:48:34 UTC
Fedora 30 changed to end-of-life (EOL) status on 2020-05-26. Fedora 30 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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