On Thu, Mar 17, 2022 at 12:27 AM James Ralston <[email protected]> wrote:
>
> On Wed, Mar 16, 2022 at 6:04 AM Alexey Tikhonov <[email protected]> wrote:
>
> > How would you use SSSD without any domain configured?
>
> I have a host on which I kinit against principals in Kerberos realms
> for which the host is not joined and has no other sssd services
> running, and I use KCM as the Kerberos credentials cache:
>
> $ sudo dnf install sssd-kcm
> $ sudo systemctl enable sssd-kcm.socket
> $ kinit [email protected]
>
> I assumed that if I had any sssd services configured for socket
> activation, that I should run the monitor.  But attempting to do so
> with no domains configured yields:
>
> [sssd] [confdb_expand_app_domains] (0x0010): No domains configured, fatal 
> error!
> [sssd] [get_monitor_config] (0x0010): Failed to expand application domains
> [sssd] [get_monitor_config] (0x0010): No domains configured.
> [sssd] [main] (0x0010): SSSD couldn't load the configuration database.
>
> I suppose I could work around this by enabling the files domain using
> a minimal sssd.conf configuration; e.g.:
>
>     [sssd]
>     config_file_version = 2
>     debug_level = 0x0070
>     domains = files
>
>     [domain/files]
>     id_provider = files
>
> But this is dumb.  In this scenario, literally the only reason I am
> configuring the files domain is because I am required to configure
> *some* domain in order to run the monitor.
>
> But again, per my original question: is it even necessary to run the
> monitor at all?
>
> More specifically: for my particular use case of sssd on this host
> (KCM only, and kinit only), does running the monitor serve any
> purpose?

No, IIRC, in the case of 'sssd_kcm' there is no need to have 'monitor'
('sssd') running.
There was a caveat that 'monitor' parses sssd.conf at startup and
converts it to ldb representation. IIRC, it was "fixed" but Justin
should know better.

> E.g., does the monitor watch for ticket cleanups/renewals for tickets
> added via kinit (versus by sssd as part of the authentication
> process)?

No, 'monitor' doesn't perform those tasks.
'sssd_kcm' does ticket renewal and, IIRC, if you enable this feature,
the process will be "long-running" (not socket activated anymore).
But again, Justin can comment better here.

>
> > To answer your question: there was (is) an idea to get rid of the
> > monitor altogether (and to rely on systemd instead).  But currently
> > the monitor performs some tasks, like watching changes in network
> > interfaces, that needs to be moved to other modules.
>
> How would one perform those tasks if there is no long-running process,
> though?

Currently backend (per domain) processes ('sssd_be') can't be socket
activated. Only services.
The reason is, as you mentioned, that they have to perform periodic
background tasks.

>
> For example, say that KCM can be configured to renew any renewable
> tickets in the credential cache, regardless of the mechanism by which
> they entered the credential cache.  (This may be true for recent sssd
> versions; I don’t know.)  To do this, there needs to be some sort of
> periodic process that is either started or wakes up, examines the
> credentials in the cache, and renews any that need to be renewed
> (e.g. ones that have less than half of their validity time remaining).
> But if KCM is configured for socket activation, instead of running all
> the time as one of the monitor’s configured "services" settings, then
> unless someone manually pokes at the credentials cache and caused
> systemd to activate KCM, there won’t be anything to wake up and check
> for credentials that should be renewed.
>
> Overall, the sssd documentation is excellent.  But it would be nice if
> the documentation explicitly mentioned in what use cases the monitor
> should be used.  E.g., update the sssd(8) man page with something like
> this:
>
>     The main sssd service is called the monitor.  Its main purpose is
>     to start the services specified by the “services” option in
>     sssd.conf, and to perform other service-dependent housekeeping
>     tasks.
>
>     On systemd systems, all sssd sub-services can be configured for
>     socket-based activation.  In this configuration, the “services”
>     option in sssd.conf can be omitted, in which case the monitor does
>     not manage any sssd sub-services.
>
>     However, because the monitor also performs some housekeeping
>     tasks, the monitor should still be configured to run, even if no
>     services are configured, if any of the following conditions is
>     true:
>
>         * The <foo> service is configured for socket activation.
>         * The <bar> service is configured for socket activation.
>         * …
>
>     If none of the above conditions is true, and all configured sssd
>     services are launched via systemd socket activation, then there is
>     no need to run the sssd monitor.
>
> So to summarize, the fact that I can run the KCM service without
> configuring any domain (which is a prerequisite for running the
> monitor) strongly suggests that there is no need to run the monitor in
> that use case.  But 1) I’m not convinced this is true, and 2) the
> documentation really should explicitly state in which cases it is or
> is not necessary to run the monitor.
> _______________________________________________
> sssd-users mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedorahosted.org/archives/list/[email protected]
> Do not reply to spam on the list, report it: 
> https://pagure.io/fedora-infrastructure
_______________________________________________
sssd-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to