From 3d6d125917073b06849c336c93e475a5a43c0dd9 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Fri, 17 Oct 2014 11:43:39 -0400 Subject: [PATCH] systemd: ensure that accounts service starts after NSS initializes The various NSS calls don't give accurate results in some configurations until midway through boot up. This is because SSSD or winbind (or whatever) needs to initialize. In order to prevent accounts service from using NSS prematurely, we need to add an ordering constraint between the nss-user-lookup.target and accountsservice. This commit accomplishes this by adding the appropriate Wants= and After= directives to the accountsservice systemd unit file. --- data/accounts-daemon.service.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/data/accounts-daemon.service.in b/data/accounts-daemon.service.in index 105bf6a..feedf3e 100644 --- a/data/accounts-daemon.service.in +++ b/data/accounts-daemon.service.in @@ -1,15 +1,21 @@ [Unit] Description=Accounts Service +# In order to avoid races with identity-providing services like SSSD or +# winbind, we need to ensure that Accounts Service starts after +# nss-user-lookup.target +After=nss-user-lookup.target ypbind.service +Wants=nss-user-lookup.target + [Service] Type=dbus BusName=org.freedesktop.Accounts ExecStart=@libexecdir@/accounts-daemon StandardOutput=syslog [Install] # We pull this in by graphical.target instead of waiting for the bus # activation, to speed things up a little: gdm uses this anyway so it is nice # if it is already around when gdm wants to use it and doesn't have to wait for # it. WantedBy=graphical.target -- 2.3.7