I understand sssd is failing to start because there is no config, but
I'm trying to understand the bad interaction of automounts with sssd,
which would be via /etc/nsswitch.conf.

(Brainstorming below, pardon me if this is all obvious to you)

autofs will consult /etc/nsswitch.conf when a map file has no path,
i.e., is not really a file.

Something like this in /etc/auto.master:

/mnt auto.mnt

Since it's "auto.mnt" and not, say, "/etc/auto.mnt", /etc/nsswitch.conf
is consulted.

That is exactly the case that was reported in this bug. Recaping:
"""
>From /etc/auto.master:
/mnt/GGData auto.DataVol1 --ghost
"""

I'm not sure what is the fallback when NSS returns "sorry, no such thing
here". Does autofs assumes a file, with a certain path? Let's find out.

...

Ok, it fails miserably. But if I remove "automount: sss" from
/etc/nsswitch.conf, and leave the map without an absolute path, then
autofs works.


I see two options here:

a) /etc/nsswitch.conf change

a) Add files:
automount:      sss files

Also files could be first. Some experimentation and thought required here. We 
can also play with flags, like:
automount:      sss [NOTFOUND=continue] files

The nsswitch.conf(5) manpage documents these. A quick check in our
default nsswitch.conf file shows we (debian/ubuntu) do not use these
flags. I seem to remember that Redhat/Fedora used to play a lot with the
flags.

b) use a path in auto.master. In other words, change your
/etc/auto.master entry to:

/mnt/GGData /etc/auto.DataVol1 --ghost

Or wherever auto.DataVol1 exists.


I have a feeling your setup was relying on this fallback to assuming the 
location of the auto.DataVol1 file.

strace shows autofs assumes /etc in this case, as the path for the file:
4263  connect(9, {sa_family=AF_UNIX, sun_path="/var/lib/sss/pipes/autofs"}, 
110) = -1 ENOENT (No such file or directory)
4263  close(9)                          = 0
4263  write(2, "setautomntent: lookup(sss): setautomntent: No such file or 
directory", 68) = 68
4263  write(2, "\n", 1)                 = 1
4263  write(2, "lookup_nss_read_map: reading map files auto.mnt", 47) = 47
4263  write(2, "\n", 1)                 = 1
4263  stat("/etc/auto.mnt", {st_mode=S_IFREG|0644, st_size=330, ...}) = 0


So, here is my take: I believe your configuration needs to be fixed, because 
using a map file without a path in /etc/auto.master is documented as doing an 
nsswitch lookup, which is what broke when libnss-sss was installed (due to the 
entry it adds to /etc/nsswitch.fong).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1897153

Title:
  Automount fails due to SSSD config (Groovy Gorilla)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-release-notes/+bug/1897153/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to