Configure LDAP Users with NFS Home Directories and autofs

Configure OpenLDAP users with NFS home directories using SSSD and autofs on RHEL, Rocky Linux, AlmaLinux, Oracle Linux, and CentOS Stream.

Published

Updated

Read time 14 min read

Reviewed byDeepak Prasad

OpenLDAP users mounting NFS home directories on demand through SSSD and autofs

This guide configures centralized home directories for OpenLDAP users.

OpenLDAP stores the user identity and automount maps, NFS stores the home-directory files, and autofs mounts the correct NFS directory only when the user accesses it.

You will learn how to:

  • Prepare an NFS home-directory export
  • Match NFS ownership with LDAP UID and GID values
  • Load the OpenLDAP automount schema
  • Create auto.master and auto.home maps in LDAP
  • Grant SSSD read access to automount entries
  • Configure the SSSD autofs provider
  • Configure the automount NSS source
  • Mount /home/USERNAME on demand
  • Verify SSH login and file ownership
  • Troubleshoot LDAP, SSSD, autofs, and NFS separately

The procedure applies to the RHEL family:

  • Red Hat Enterprise Linux
  • Rocky Linux
  • AlmaLinux
  • Oracle Linux
  • CentOS Stream

Tested on: Rocky Linux 10.2 with OpenLDAP 2.6.10, SSSD 2.12.0, NFSv4, and autofs.

The lab uses:

Setting Value
OpenLDAP and NFS server ldap-server.example.com
SSSD and autofs client ldap-client.example.com
LDAP suffix dc=example,dc=com
Test user jdoe
LDAP home directory /home/jdoe
NFS storage directory /srv/nfs/home/jdoe
NFS export root /srv/nfs/home
Automount container ou=automount,dc=example,dc=com
Master map auto.master
Home map auto.home
LDAP transport StartTLS

In production, place LDAP and NFS on separate hosts when you prefer. This lab combines both roles on ldap-server.example.com so the export, schema, maps, and storage stay reproducible on one server.

Complete these guides first:

IMPORTANT
Do not enable PAM home-directory creation for the same /home path managed by autofs. In this design, autofs provides /home/USERNAME; oddjob-mkhomedir must not create a competing local directory.

This article owns NFS export, automount schema, LDAP maps, the SSSD autofs provider, and on-demand home mounting. User lookup, PAM authentication, and SSH client setup stay in OpenLDAP client authentication with SSSD. Routine homeDirectory and user creation stay in Manage OpenLDAP users and groups.


Understand the LDAP, NFS and autofs Architecture

When jdoe logs in or accesses /home/jdoe, the request crosses three layers:

text
1. SSSD resolves jdoe from OpenLDAP
2. autofs asks SSSD for auto.master
3. auto.master maps /home to auto.home
4. auto.home maps jdoe to the NFS export
5. autofs mounts ldap-server.example.com:/srv/nfs/home/jdoe
6. The user sees /home/jdoe on the client

Use this component table to keep the paths separate:

Component Stores or controls
posixAccount Username, UID, GID, and /home/jdoe
NFS server Actual files under /srv/nfs/home/jdoe
auto.master Associates /home with auto.home
auto.home Maps usernames to NFS directories
SSSD autofs provider Retrieves and caches LDAP maps
autofs Mounts and unmounts NFS paths on demand

The most important path distinction is:

Layer Path
LDAP homeDirectory /home/jdoe
NFS server path /srv/nfs/home/jdoe
Client mount path /home/jdoe

Do not store /srv/nfs/home/jdoe in the LDAP user's homeDirectory. That path exists only on the NFS server.

Creating automount entries does not create the NFS export, user directory, or permissions. Verify a manual NFS mount before you add autofs so NFS and automount failures stay easy to separate.


Prepare the LDAP User and NFS Home Directory

Start from a working LDAP client where POSIX lookups already succeed. Confirm the account with getent before you touch NFS exports or autofs maps:

bash
getent passwd jdoe
bash
id jdoe

Confirm the LDAP entry contains the expected POSIX attributes:

bash
ldapsearch -x -ZZ -H ldap://ldap-server.example.com -D "cn=admin,dc=example,dc=com" -W -b "ou=people,dc=example,dc=com" -LLL "(uid=jdoe)" dn uid uidNumber gidNumber homeDirectory

Sample output:

output
dn: uid=jdoe,ou=people,dc=example,dc=com
uid: jdoe
uidNumber: 10001
gidNumber: 10001
homeDirectory: /home/jdoe

The client should resolve the same numeric identity through SSSD.

Configure the NFS server

On ldap-server.example.com, install the NFS server packages:

bash
sudo dnf install -y nfs-utils

Create the export root and the user directory with numeric ownership that matches LDAP:

bash
sudo install -d -m 0755 /srv/nfs/home
bash
sudo install -d -m 0700 -o 10001 -g 10001 /srv/nfs/home/jdoe

Add the export in /etc/exports:

text
/srv/nfs/home 192.168.122.0/24(rw,sync,root_squash)

Use a subnet or host list that matches your client network. rw allows user writes, sync commits data synchronously, and root_squash maps remote root to an unprivileged NFS user.

Enable NFS and open the firewall:

bash
sudo systemctl enable --now nfs-server
bash
sudo firewall-cmd --permanent --add-service=nfs
bash
sudo firewall-cmd --reload

Apply the export:

bash
sudo exportfs -rav

Verify the active export:

bash
sudo exportfs -v

Sample output:

output
/srv/nfs/home 192.168.122.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

Test NFS before autofs

On ldap-client.example.com, install the NFS client tools:

bash
sudo dnf install -y nfs-utils

Create a temporary mount point:

bash
sudo install -d -m 0755 /mnt/test-home

Mount the user's home directly over NFSv4:

bash
sudo mount -t nfs4 ldap-server.example.com:/srv/nfs/home/jdoe /mnt/test-home

Confirm the mount source:

bash
findmnt /mnt/test-home

Sample output:

output
TARGET         SOURCE                                     FSTYPE OPTIONS
/mnt/test-home ldap-server.example.com:/srv/nfs/home/jdoe nfs4   rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.56.108,local_lock=none,addr=192.168.56.108

Check ownership and write access as the LDAP user:

bash
ls -ldn /mnt/test-home
bash
sudo -u jdoe touch /mnt/test-home/nfs-test
bash
ls -ln /mnt/test-home/nfs-test

Unmount the test mount:

bash
sudo umount /mnt/test-home

Do not continue to LDAP automount maps until this manual mount works.


Load the OpenLDAP automount Schema

Use the RFC2307bis-style automount schema in this guide:

  • automountMap
  • automount
  • automountMapName
  • automountKey
  • automountInformation

Check whether the schema is already loaded:

bash
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config '(&(objectClass=olcSchemaConfig)(olcObjectClasses=*automountMap*))' dn

When the search returns a schema entry such as cn=automount-rfc2307bis,cn=schema,cn=config, skip the import step.

The autofs package still ships /usr/share/doc/autofs/autofs.schema, but the package documentation marks that file as outdated. It also does not provide the automountMapName and automountKey attributes used here. Discover packaged documentation with:

bash
rpm -ql autofs | grep -Ei 'README.*schema|autofs\.schema'

Sample output on Rocky Linux 10.2:

output
/usr/share/doc/autofs/README.autofs-schema
/usr/share/doc/autofs/autofs.schema

Back up cn=config before loading a new schema:

bash
sudo install -d -m 0700 /root/openldap-autofs-backup
bash
sudo slapcat -F /etc/openldap/slapd.d -n 0 -l /root/openldap-autofs-backup/cn-config-before-automount-schema.ldif

Create a direct cn=config schema LDIF. These definitions match the RFC2307bis draft automount model used in this guide:

bash
sudo tee /root/automount-rfc2307bis.ldif >/dev/null <<'EOF'
dn: cn=automount-rfc2307bis,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: automount-rfc2307bis
olcAttributeTypes: ( 1.3.6.1.1.1.1.31 NAME 'automountMapName'
 DESC 'automount Map Name'
 EQUALITY caseExactMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
 SINGLE-VALUE )
olcAttributeTypes: ( 1.3.6.1.1.1.1.32 NAME 'automountKey'
 DESC 'Automount Key value'
 EQUALITY caseExactMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
 SINGLE-VALUE )
olcAttributeTypes: ( 1.3.6.1.1.1.1.33 NAME 'automountInformation'
 DESC 'Automount information'
 EQUALITY caseExactMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
 SINGLE-VALUE )
olcObjectClasses: ( 1.3.6.1.1.1.2.16 NAME 'automountMap'
 SUP top STRUCTURAL
 MUST automountMapName
 MAY description )
olcObjectClasses: ( 1.3.6.1.1.1.2.17 NAME 'automount'
 SUP top STRUCTURAL
 DESC 'Automount information'
 MUST ( automountKey $ automountInformation )
 MAY description )
EOF

Protect the LDIF before you import it:

bash
sudo chmod 600 /root/automount-rfc2307bis.ldif

Import the schema through the local cn=config socket:

bash
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /root/automount-rfc2307bis.ldif

A successful import prints adding new entry "cn=automount-rfc2307bis,cn=schema,cn=config".

Validate the offline configuration:

bash
sudo slaptest -F /etc/openldap/slapd.d -u

Create LDAP auto.master and auto.home Maps

Use this directory structure:

text
dc=example,dc=com
└── ou=automount
    ├── automountMapName=auto.master
    │   └── automountKey=/home
    └── automountMapName=auto.home
        └── automountKey=*

Create automount-home-maps.ldif:

ldif
dn: ou=automount,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: automount
description: Central autofs maps

dn: automountMapName=auto.master,ou=automount,dc=example,dc=com
objectClass: top
objectClass: automountMap
automountMapName: auto.master

dn: automountKey=/home,automountMapName=auto.master,ou=automount,dc=example,dc=com
objectClass: top
objectClass: automount
automountKey: /home
automountInformation: auto.home

dn: automountMapName=auto.home,ou=automount,dc=example,dc=com
objectClass: top
objectClass: automountMap
automountMapName: auto.home

dn: automountKey=*,automountMapName=auto.home,ou=automount,dc=example,dc=com
objectClass: top
objectClass: automount
automountKey: *
automountInformation: -fstype=nfs4,rw,hard,_netdev,nosuid,nodev ldap-server.example.com:/srv/nfs/home/&

The wildcard entry works like this:

text
User accesses:    /home/jdoe
* becomes:        jdoe
& becomes:        jdoe
NFS location:     ldap-server.example.com:/srv/nfs/home/jdoe

Add the entries over StartTLS:

bash
ldapadd -x -ZZ -H ldap://ldap-server.example.com -D "cn=admin,dc=example,dc=com" -W -f automount-home-maps.ldif

Verify the master map:

bash
ldapsearch -x -ZZ -H ldap://ldap-server.example.com -D "cn=admin,dc=example,dc=com" -W -b "automountMapName=auto.master,ou=automount,dc=example,dc=com" -LLL "(objectClass=automount)" automountKey automountInformation

Sample output:

output
dn: automountKey=/home,automountMapName=auto.master,ou=automount,dc=example,dc=com
automountKey: /home
automountInformation: auto.home

Verify the home map:

bash
ldapsearch -x -ZZ -H ldap://ldap-server.example.com -D "cn=admin,dc=example,dc=com" -W -b "automountMapName=auto.home,ou=automount,dc=example,dc=com" -LLL "(objectClass=automount)" automountKey automountInformation

Sample output:

output
dn: automountKey=*,automountMapName=auto.home,ou=automount,dc=example,dc=com
automountKey: *
automountInformation: -fstype=nfs4,rw,hard,_netdev,nosuid,nodev ldap-server.example.com:/srv/nfs/home/&

Do not mix object classes and attributes across schema models. These combinations are invalid:

text
automountMap + nisMapEntry
nisMap + automountInformation
automount + cn

Grant SSSD Access to Automount Maps

The SSSD service account must be able to search and read ou=automount,dc=example,dc=com.

Recommended ACL direction:

text
to dn.subtree="ou=automount,dc=example,dc=com"
    by dn.exact="uid=sssd-reader,ou=service-accounts,dc=example,dc=com" read
    by group.exact="cn=directory-admins,ou=groups,dc=example,dc=com" write
    by * none

Place the rule before a broader deny rule. Use OpenLDAP ACL configuration for indexed replacement and rollback.

Test with the exact SSSD bind identity:

bash
ldapsearch -x -ZZ -H ldap://ldap-server.example.com -D "uid=sssd-reader,ou=service-accounts,dc=example,dc=com" -W -b "ou=automount,dc=example,dc=com" -LLL "(|(objectClass=automountMap)(objectClass=automount))" automountMapName automountKey automountInformation

Interpret the result:

Error Meaning
Error 49 SSSD reader DN or password is invalid
Error 50 ACL blocks automount-map access
Error 32 Wrong automount search base
Empty result Schema, object class, or search filter mismatch

If the reader bind succeeds but searches fail after you enabled TLS hardening from Configure OpenLDAP TLS with StartTLS, confirm the client uses StartTLS or LDAPS before you change automount entries.


Configure SSSD and autofs on RHEL Family Clients

Install the required packages on ldap-client.example.com:

bash
sudo dnf install -y autofs nfs-utils sssd sssd-ldap

Extend the existing /etc/sssd/sssd.conf from OpenLDAP client authentication with SSSD. Append autofs to the existing services value and preserve every responder that is already configured. Do not replace the working identity, authentication, TLS, or bind settings unless you are correcting them deliberately.

Example when the client already uses sudo and ssh:

ini
[sssd]
# Before:
# services = nss, pam, sudo, ssh

# After:
services = nss, pam, sudo, ssh, autofs
domains = example.com

[autofs]

[domain/example.com]
autofs_provider = ldap
ldap_autofs_search_base = ou=automount,dc=example,dc=com

ldap_schema = rfc2307
ldap_autofs_map_master_name = auto.master
ldap_autofs_map_object_class = automountMap
ldap_autofs_map_name = automountMapName
ldap_autofs_entry_object_class = automount
ldap_autofs_entry_key = automountKey
ldap_autofs_entry_value = automountInformation

The lab client previously contained only nss and pam:

ini
[sssd]
services = nss, pam, autofs
domains = example.com

Keep the existing id_provider, auth_provider, ldap_uri, search bases, bind account, and TLS settings from the SSSD client guide. Add only the [autofs] section and the autofs_provider plus ldap_autofs_* options shown above.

The explicit automount mappings matter because ldap_schema = rfc2307 otherwise defaults SSSD toward nisMap, nisObject, nisMapName, and nisMapEntry for automount lookups.

Protect and validate the configuration:

bash
sudo chown root:root /etc/sssd/sssd.conf
bash
sudo chmod 600 /etc/sssd/sssd.conf
bash
sudo sssctl config-check

Sample output:

output
Issues identified by validators: 0

Verify that sss is present in the automount NSS database. Preserve the order generated by the active authselect profile rather than forcing a different order:

bash
grep '^automount:' /etc/nsswitch.conf

Typical current RHEL-family output:

output
automount: sss files

When sss is missing:

  • Inspect the active authselect profile.
  • Update the custom profile when one is in use.
  • Avoid directly editing an authselect-managed /etc/nsswitch.conf.

Check the selected profile and disable only the conflicting home-directory feature:

bash
authselect current

When with-mkhomedir is listed, disable it so PAM does not create local /home/USERNAME directories:

bash
sudo authselect disable-feature with-mkhomedir

Confirm that only with-mkhomedir was removed:

bash
authselect current

Confirm that the active profile supports with-mkhomedir before you disable it. Do not replace a custom, IdM-generated, or domain-join-generated profile with the stock sssd profile solely for this article.

Restart SSSD and autofs:

bash
sudo systemctl restart sssd
bash
sudo systemctl enable --now autofs
bash
sudo systemctl restart autofs

The automounter reads its master map at startup, so restart autofs after you change SSSD automount settings or LDAP master-map entries.


Verify On-Demand NFS Home Directories

Confirm the LDAP user still resolves:

bash
getent passwd jdoe

The home path should remain the client mount point:

output
jdoe:*:10001:10001:Jane Doe:/home/jdoe:/bin/bash

Display the automount maps known to the client:

bash
sudo automount -m

The output should include the LDAP-backed /home map:

text
Mount point: /home

source(s):

  instance type(s): sss
  map: auto.home

  * | -fstype=nfs4,rw,hard,_netdev,nosuid,nodev ldap-server.example.com:/srv/nfs/home/&

Before access, the path may not be mounted yet:

bash
findmnt /home/jdoe

Trigger the mount:

bash
ls -la /home/jdoe

Verify the mount source:

bash
findmnt /home/jdoe

On a separate client host, expect an NFS source such as ldap-server.example.com:/srv/nfs/home/jdoe.

Test write access:

bash
sudo -u jdoe touch /home/jdoe/autofs-test

Confirm the file on the NFS server:

bash
ls -ln /srv/nfs/home/jdoe/autofs-test

Sample output:

output
-rw-r--r--. 1 10001 10001 0 Jul 14 21:54 /srv/nfs/home/jdoe/autofs-test

Test an end-to-end login:

bash

After login:

bash
pwd

Expected result:

output
/home/jdoe
bash
touch login-test
bash
ls -ln login-test

A wildcard map can still attempt a mount for a path such as /home/nonexistent-user even when no LDAP account exists. Login authorization remains a separate SSSD identity and access decision.


Provision and Maintain Shared Home Directories

When you add a new LDAP user, complete both steps:

text
1. Create the posixAccount entry in OpenLDAP
2. Create the matching directory on the NFS server

Example NFS provisioning:

bash
sudo install -d -m 0700 -o 10002 -g 10002 /srv/nfs/home/asmith

Recommended checks:

text
LDAP uidNumber matches NFS owner UID
LDAP gidNumber matches NFS owner GID
LDAP homeDirectory is /home/USERNAME
NFS directory is /srv/nfs/home/USERNAME
Directory mode is appropriate
User resolves on ldap-client
Manual NFS mount works
Autofs mount works

For a wildcard auto.home map, you do not need a separate LDAP automount entry for every user. Creating the LDAP account and the NFS directory is enough.

Use explicit map entries instead of * when:

  • Users have different NFS servers
  • Users have different export roots
  • Some accounts must not receive shared homes
  • Different mount options are required
  • Storage is divided by department or location

Backup boundaries:

  • LDAP backups preserve automount maps.
  • NFS data requires a separate filesystem backup.
  • Restoring LDAP alone does not restore user files.
  • Restoring NFS files alone does not restore UID and GID identity definitions.

See OpenLDAP backup and restore for directory data protection.


Troubleshoot LDAP, SSSD, autofs and NFS

When a deleted or modified LDAP automount map still appears on the client, invalidate the SSSD autofs cache before you retest:

bash
sudo systemctl stop autofs

Pauses the automounter so cached maps are not read while you clear SSSD state.

bash
sudo sss_cache -A

Expires all SSSD caches, including autofs maps, after LDAP map changes.

To expire one map only:

bash
sudo sss_cache -a auto.home

Targets a single map when other autofs data should stay cached.

Restart autofs and verify the current map:

bash
sudo systemctl start autofs

Reloads the master map after the cache clear.

bash
sudo automount -m

Lists active maps and mount points when getent works but the home path does not mount.

bash
ls -la /home/jdoe

Confirms the home directory mounted with the expected ownership after autofs reports the map.

Restart SSSD separately only when its configuration or provider state changed. Restart autofs after master-map changes because the automounter reads that map during startup.

Symptom Likely layer Check
getent passwd jdoe fails SSSD identity LDAP user search and SSSD domain logs
User resolves but /home/jdoe does not mount autofs or map lookup automount -m and SSSD autofs logs
automount -m has no LDAP maps SSSD autofs configuration services = ... autofs, search base, and schema mappings
SSSD reader gets Error 49 LDAP authentication Fix OpenLDAP Error 49
SSSD reader gets Error 50 LDAP ACL Read permission on ou=automount
Map exists but is not found Schema mapping mismatch Compare object classes and attribute mappings
Manual NFS mount fails NFS or network exportfs, firewall, and server logs
Mount works as root but user cannot write UID/GID or directory permissions Compare numeric ownership
User gets another user's files UID collision Search LDAP for duplicate uidNumber
/home/jdoe is a local directory mkhomedir conflict Remove the local directory after preserving data
Deleted or modified map remains visible SSSD autofs cache Stop autofs, run sss_cache -A, and start autofs
Master-map change is not recognized autofs master-map state Invalidate the SSSD map cache and restart autofs
Mount hangs when NFS is unavailable NFS hard mount waiting for server Restore server connectivity
NFS works only when SELinux is permissive SELinux policy denial Check recent AVC messages and correct the NFS policy or context instead of disabling SELinux
SSH authenticates but home access fails Storage, not credentials Test manual NFS mount and ownership

Useful client commands:

bash
sudo automount -m

Lists active autofs maps and mount points when identity lookup works but the home path is missing.

bash
findmnt -t nfs,nfs4

Shows whether the home path is actually an NFS mount or still a local directory.

bash
sudo journalctl -u autofs -n 100 --no-pager

Recent automounter errors when map lookup or mount requests fail.

bash
sudo journalctl -u sssd -n 100 --no-pager

SSSD autofs provider and LDAP reader errors when maps do not appear in automount -m.

When the SSSD log files exist, review:

bash
sudo grep -iE 'autofs|automount|ldap|offline|error' /var/log/sssd/sssd_autofs.log /var/log/sssd/sssd_example.com.log

Focused autofs and LDAP messages when the journal output is too noisy.

Useful NFS-server commands:

bash
sudo exportfs -v

Confirms the export path, client access, and options when manual mounts fail.

bash
sudo journalctl -u nfs-server -n 100 --no-pager

NFS server startup and export errors when clients cannot reach the share.

bash
sudo ss -ltnp | grep ':2049'

Verifies the NFS service is listening when connectivity or firewall issues are suspected.

Enable temporary autofs debugging through the supported distribution configuration when you need deeper traces. Restore the normal debug level afterward.


References


Summary

You configured an LDAP POSIX user with /home/USERNAME, created an NFS-backed home directory with matching UID and GID, loaded the RFC2307bis automount schema, created LDAP auto.master and auto.home maps, granted the SSSD reader access to ou=automount, enabled the SSSD LDAP autofs provider with explicit attribute mappings, verified the automount NSS source includes sss, invalidated stale autofs map cache when needed, verified on-demand mounting through autofs, and separated LDAP identity backup from NFS file backup.


Frequently Asked Questions

1. What is the difference between an LDAP home directory and an NFS home directory?

LDAP stores the client login path in homeDirectory, such as /home/jdoe. NFS stores the actual files on the server under a separate export path, such as /srv/nfs/home/jdoe.

2. Should the LDAP homeDirectory contain the NFS server path?

No. homeDirectory must be the client mount path, such as /home/jdoe. The NFS export path belongs only in automountInformation on the server.

3. How does SSSD retrieve autofs maps from OpenLDAP?

SSSD uses autofs_provider = ldap, reads automountMap and automount entries from ldap_autofs_search_base, caches the maps locally, and serves them to autofs through the automount NSS source.

4. What is the difference between auto.master and auto.home?

auto.master maps a mount point such as /home to another map name. auto.home contains the per-user or wildcard entries that point to the NFS export.

5. What do automountMap, automountKey, and automountInformation mean?

automountMap is the map container object class. automountKey is the lookup key such as /home or a username wildcard. automountInformation is the map name or NFS mount specification.

6. Why must UID and GID values match on the NFS server and LDAP clients?

NFS identifies file ownership by numeric UID and GID. If the LDAP account and the NFS directory ownership differ, login may succeed but file access fails.

7. Can one wildcard autofs rule mount every LDAP user home?

Yes. A wildcard auto.home entry can map /home/USERNAME to ldap-server:/srv/nfs/home/USERNAME when the NFS directory exists for each account.

8. Why does getent passwd work while the home directory does not mount?

getent checks SSSD identity lookup only. Home mounting is a separate autofs and NFS path that depends on LDAP automount maps, SSSD autofs caching, and NFS exports.

9. Why does automount -m not show my LDAP maps?

autofs may still be reading only local files, SSSD may not list autofs in services, ldap_autofs_search_base may be wrong, or the SSSD reader cannot read ou=automount.

10. Should I enable oddjob-mkhomedir with autofs home directories?

No for the same /home path. mkhomedir creates local directories that compete with autofs-managed NFS mounts.

11. Why can the LDAP user mount the home but not write to it?

The NFS directory ownership or mode may not match the LDAP uidNumber and gidNumber, or the export options may block writes.

12. Does SSSD cache LDAP automount maps?

Yes. SSSD caches automount maps locally and serves them to autofs. Restart autofs after master-map changes because autofs reads the master map at startup.

13. What happens when OpenLDAP or the NFS server is unavailable?

Previously cached users and automount maps can continue to work while OpenLDAP is temporarily unavailable, but uncached identities or maps cannot be retrieved. If the NFS server is unavailable, a hard NFS mount can wait until storage connectivity returns.

14. How do I use different NFS servers for different users?

Replace the wildcard entry with explicit automount entries or multiple map files when users need different servers, export roots, or mount options.

15. Does the OpenLDAP backup include the users home-directory files?

No. LDAP backups preserve automount maps and identity data only. NFS home files require separate filesystem backup.
Deepak Prasad

R&D Engineer

Founder of GoLinuxCloud with more than 15 years of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive …