SSSD-SIMPLE(5)

๐Ÿ’– SSSD-SIMPLE โ€” bestie's guide to the simple access-control provider ๐Ÿ’–

okay so this is the man page for sssd-simple, a.k.a. the configuration file for SSSD's 'simple' access-control provider, from the File Formats and Conventions section. yes it's a mouthful. yes you're gonna get it. let's go ๐Ÿซถ


โœจ NAME โœจ

sssd-simple โ€” the configuration file for SSSD's 'simple' access-control provider


๐ŸŒธ DESCRIPTION ๐ŸŒธ

So this page is all about configuring the simple access-control provider for sssd(8). If you want the full syntax tea, go read the โ€œFILE FORMATโ€ section of the sssd.conf(5) manual page. iykyk ๐Ÿ’…

Here's the whole vibe: the simple access provider either grants or denies access based on an access list or a deny list of user or group names. that's it. that's the job. โœจ

โš ๏ธ Big important note bestie: groups from other domains configured in sssd.conf โ€” even if the simple access provider is used there too โ€” plus groups managed outside of SSSD, are not evaluated. like, at all. they don't exist to this provider. ๐Ÿ™ˆ

The following rules apply, and you genuinely need all of them:

  • It is not recommended to leave an option empty โ€” it might cause errors. If you want to allow all users, do not specify any simple_allow_users or simple_allow_groups.
  • If any list is provided, the order of evaluation is: allow โ†’ deny. Which means any matching deny rule will supersede any matched allow rule. deny ate, periodt.
  • If either or both "allow" lists are provided, all users are denied unless they appear in at least one of these lists (OR condition).
  • If either or both "deny" lists are provided, all users are granted access unless they appear in at least one of these lists (OR condition).

๐ŸŽ€ CONFIGURATION OPTIONS ๐ŸŽ€

Before we get into the options: go check the section โ€œDOMAIN SECTIONSโ€ of the sssd.conf(5) manual page for details on how to configure an SSSD domain. ๐Ÿฆ‹

  • simple_allow_users (string) โ€” Comma-separated list of users who are allowed to log in. If this option is specified, all other users are denied unless they are members of groups listed in simple_allow_groups.
  • simple_deny_users (string) โ€” Comma-separated list of users who are explicitly denied access. If this option is specified, these users will be denied regardless of whether they appear in simple_allow_users or simple_allow_groups.

OR Logic Applies: A user will be denied access if they are listed in simple_deny_users or if they are a member of a group in simple_deny_groups.

  • simple_allow_groups (string) โ€” Comma-separated list of groups that are allowed to log in. If this option is specified, all other users are denied unless they are explicitly listed in simple_allow_users.

OR Logic Applies: A user can log in if they are listed in simple_allow_users or if they belong to a group in simple_allow_groups.

This applies only to groups within this SSSD domain. Local groups are not evaluated.

  • simple_deny_groups (string) โ€” Comma-separated list of groups that are explicitly denied access. This applies only to groups within this SSSD domain. Local groups are not evaluated.

OR Logic Applies: A user will be denied access if they are listed in simple_deny_users or if they are a member of any group in simple_deny_groups.

This applies only to groups within this SSSD domain. Local groups are not evaluated.

heads up bestie ๐Ÿ’€ Specifying no values for any of the lists is equivalent to skipping it entirely. Beware of this while generating parameters for the simple provider using automated scripts. like, your script is gonna silently do the wrong thing and you're gonna be so confused. you've been warned. ๐Ÿซถ

โญ EXAMPLE โญ

The following example assumes that SSSD is correctly configured and example.com is one of the domains in the [sssd] section. This example shows only the simple access provider-specific options. no filler, just the good stuff ๐Ÿ’…

[domain/example.com]
access_provider = simple
simple_allow_users = user1, user2
simple_deny_users = user3, user4
simple_allow_groups = allowed_group1
simple_deny_groups = denied_group1

๐ŸŒˆ NOTES ๐ŸŒˆ

The complete group membership hierarchy is resolved before the access check, so even nested groups can be included in the access lists. iconic behavior honestly ๐Ÿ‘‘

โš ๏ธ Please be aware that the โ€œldap_group_nesting_levelโ€ option may impact the results and should be set to a sufficient value. (sssd-ldap(5)) option. don't skip this one, fr fr.

๐Ÿ‘‘ SEE ALSO ๐Ÿ‘‘

sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-idp(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(1), sss_ssh_knownhosts(1), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5) sssd-systemtap(5)


๐Ÿ’œ AUTHORS ๐Ÿ’œ

The SSSD upstream โ€” https://github.com/SSSD/sssd/


and that's the whole page bestie, you ate it ๐Ÿ’…โœจ this was SSSD's very own manual, version SSSD, dated 07/08/2026, filed under SSSD-SIMPLE(5). go forth and configure responsibly ๐ŸŽ€๐Ÿฆ‹๐ŸŒธ

๐Ÿ“ฆ where this page comes from