diff --git a/src/man/sssd.conf.5.xml b/src/man/sssd.conf.5.xml
index a841477477..d37aa6e5f0 100644
--- a/src/man/sssd.conf.5.xml
+++ b/src/man/sssd.conf.5.xml
@@ -712,6 +712,14 @@
leaking plain text passwords. See man page
prctl:PR_SET_DUMPABLE for details.
+
+ Take a note that this setting has no effect
+ for 'ldap_child', 'krb5_child' and 'sssd_pam'
+ as those privileged binaries can have a copy
+ of a host keytab data in a memory and their
+ behavior in this regards is governed by
+ /proc/sys/fs/suid_dumpable system setting.
+
Default: true
diff --git a/src/util/server.c b/src/util/server.c
index 8a01126d2a..43eb4e668a 100644
--- a/src/util/server.c
+++ b/src/util/server.c
@@ -729,21 +729,30 @@ int server_setup(const char *name, bool is_responder,
}
}
- ret = confdb_get_bool(ctx->confdb_ctx,
- CONFDB_MONITOR_CONF_ENTRY,
- CONFDB_MONITOR_DUMPABLE,
- true, /* default value */
- &dumpable);
- if (ret != EOK) {
- DEBUG(SSSDBG_FATAL_FAILURE, "Failed to determine "CONFDB_MONITOR_DUMPABLE"\n");
- return ret;
- }
- ret = prctl(PR_SET_DUMPABLE, dumpable ? 1 : 0);
- if (ret != 0) {
- DEBUG(SSSDBG_CRIT_FAILURE, "Failed to set PR_SET_DUMPABLE\n");
- return ret;
- } else if (!dumpable) {
- DEBUG(SSSDBG_IMPORTANT_INFO, "Core dumps are disabled!\n");
+ /* Don't touch PR_SET_DUMPABLE for sssd_pam as it
+ * handles host keytab.
+ * Rely on system settings instead: this flag "is reset to the
+ * current value contained in the file /proc/sys/fs/suid_dumpable"
+ * when "the process executes a program that has file capabilities".
+ */
+ if (strcmp(name, "pam") != 0) {
+ ret = confdb_get_bool(ctx->confdb_ctx,
+ CONFDB_MONITOR_CONF_ENTRY,
+ CONFDB_MONITOR_DUMPABLE,
+ true, /* default value */
+ &dumpable);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_FATAL_FAILURE,
+ "Failed to determine "CONFDB_MONITOR_DUMPABLE"\n");
+ return ret;
+ }
+ ret = prctl(PR_SET_DUMPABLE, dumpable ? 1 : 0);
+ if (ret != 0) {
+ DEBUG(SSSDBG_CRIT_FAILURE, "Failed to set PR_SET_DUMPABLE\n");
+ return ret;
+ } else if (!dumpable) {
+ DEBUG(SSSDBG_IMPORTANT_INFO, "Core dumps are disabled!\n");
+ }
}
sss_chain_id_setup(ctx->event_ctx);