PAM_WINBIND.CONF(5)

πŸ’… PAM_WINBIND.CONF β€” bestie edition

okay so this is the manual for pam_winbind.conf(5), aka the little config file that runs the show for the pam_winbind PAM module. yes we're doing PAM today. drink some water. 🫢


✨ NAME ✨

pam_winbind.conf β€” the configuration file of the PAM module for Winbind. that's it, that's the whole vibe. πŸŽ€


🌸 DESCRIPTION 🌸

so like, this config file is part of the samba(7) suite. it's literally the config file for the pam_winbind PAM module, and if you want the full lore you gotta go read pam_winbind(8). iykyk. πŸ’œ


πŸ¦‹ SYNOPSIS πŸ¦‹

pam_winbind.conf is a classic ini-style config file β€” very demure, very mindful. there's only one section, called global, and that's where you define all your various options. one section, zero drama. ✨


πŸ‘‘ OPTIONS πŸ‘‘

okay so pam_winbind supports a bunch of options and you can set them either in the PAM configuration files or in the pam_winbind config file which lives at /etc/security/pam_winbind.conf. heads up though: options from the PAM configuration file take precedence over the ones in the pam_winbind.conf file. no cap, that's the rule. πŸ’…

  • debug = yes|no β€” gives debugging output to syslog. defaults to "no".
  • debug_state = yes|no β€” gives you detailed PAM state debugging output to syslog. like the debug option but extra. defaults to "no".
  • require_membership_of = [SID or NAME] β€” if this is set, pam_winbind will only succeed if the user is a member of the given SID or NAME. a SID can be a group-SID, an alias-SID, or even a user-SID, we don't gatekeep. you can also give a NAME instead of a SID β€” but that name has to have the form MYDOMAIN\mygroup or MYDOMAIN\myuser (where the \ character corresponds to the value of the winbind separator parameter 🫢). you can also use a UPN in the form user@REALM or group@REALM, and in that case pam_winbind will look up the SID internally. note that NAME may not contain any spaces, so it is thus recommended to only use SIDs. you can verify the list of SIDs a user is a member of with wbinfo --user-sids=SID. this setting is empty by default.
also this option only operates during password authentication, and will not restrict access if a password is not required for any reason (such as SSH key-based login). so like… don't think it's a full lock, bestie. πŸ™ˆ
  • try_first_pass = yes|no β€” by default, pam_winbind tries to get the authentication token from a previous module, and if no token is available it asks the user for the old password. with this option, pam_winbind aborts with an error if no authentication token from a previous module is available. if a primary password is not valid, PAM will prompt for a password. defaults to "no".
  • krb5_auth = yes|no β€” pam_winbind can authenticate using Kerberos when winbindd is talking to an Active Directory domain controller. Kerberos authentication must be enabled with this parameter. when Kerberos authentication can not succeed (e.g. due to clock skew β€” rude), winbindd will fallback to samlogon authentication over MSRPC. when this parameter is used in conjunction with winbind refresh tickets, winbind will keep your Ticket Granting Ticket (TGT) up-to-date by refreshing it whenever necessary. defaults to "no".
  • krb5_ccache_type = [type] β€” when pam_winbind is configured to try kerberos authentication by enabling the krb5_auth option, it can store the retrieved Ticket Granting Ticket (TGT) in a credential cache. the type of credential cache can be controlled with this option. supported values are: KCM or KEYRING (when supported by the system's Kerberos library and operating system), FILE, and DIR (when the DIR type is supported by the system's Kerberos library). in case of FILE a credential cache in the form of /tmp/krb5cc_UID will be created β€” in case of DIR you NEED to specify a directory. UID is replaced with the numeric user id. the UID directory is being created. the path up to the directory should already exist. check the details of the Kerberos implementation, okay? 🧚

when using the KEYRING type, the supported mechanism is β€œKEYRING:persistent:UID”, which uses the Linux kernel keyring to store credentials on a per-UID basis. the KEYRING has its limitations β€” as it is secure kernel memory, for example bulk storage of credentials is not possible. it's giving "secure but small". πŸ’€

when using the KCM type, the supported mechanism is β€œKCM:UID”, which uses a Kerberos credential manager to store credentials on a per-UID basis similar to KEYRING. this is the recommended choice on latest Linux distributions, offering a Kerberos Credential Manager. if not, we suggest to use KEYRING as that is the most secure and predictable method. πŸ†

it is also possible to define custom filepaths and use the "%u" pattern in order to substitute the numeric user id. examples:

krb5_ccache_type = DIR:/run/user/%u/krb5cc
  • that one will create a credential cache file in the specified directory.
krb5_ccache_type = FILE:/tmp/krb5cc_%u
  • and that one will create a credential cache file.

leave it empty to just do kerberos authentication without having a ticket cache after the logon has succeeded. this setting is empty by default. ✨

  • cached_login = yes|no β€” Winbind allows one to logon using cached credentials when winbind offline logon is enabled. to use this feature from the PAM module, this option must be set. defaults to "no".
  • silent = yes|no β€” do not emit any messages. defaults to "no". (the strong silent type. 🀫)
  • mkhomedir = yes|no β€” create homedirectory for a user on-the-fly. option is valid in PAM session block. defaults to "no".
  • warn_pwd_expire = days β€” defines number of days before pam_winbind starts to warn about passwords that are going to expire. defaults to 14 days. ⏳
  • pwd_change_prompt = yes|no β€” generate prompt for changing an expired password. defaults to "no".

🌈 SEE ALSO 🌈

pam_winbind(8), wbinfo(1), winbindd(8), smb.conf(5) β€” go read the whole cinematic universe, bestie. πŸ“


⭐ VERSION ⭐

this man page is part of version 4.24.7-Ubuntu-4.24.7+dfsg-1ubuntu1 of Samba. she's got lore. πŸ’–


πŸŽ€ AUTHOR πŸŽ€

the original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. iconic behaviour, honestly. πŸ‘‘

this manpage was written by Jelmer Vernooij and Guenther Deschner. absolute legends. 🫢


and that's the whole page!! mwah πŸ’‹ β€” signed off with Samba 4.24.7-Ubuntu-4.24.7+dfsg-1ubuntu1, dated 09/13/2026. go forth and configure responsibly, bestie. 🌸✨

πŸ“¦ where this page comes from