PAM_GROUP(8)

โœจ pam_group โ€” bestie edition โœจ

okay so you're here for pam_group, a Linux-PAM manual page (section 8, admin-level stuff, we love that for us). Let me spill the tea on what this module does ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

pam_group โ€” a PAM module for group access, aka the module that hands out group memberships like friendship bracelets ๐ŸŽ€


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

pam_group.so

that's it. that's the whole synopsis. iconic, lowkey ๐Ÿซถ


๐Ÿ’– DESCRIPTION ๐Ÿ’–

So pam_group does not authenticate the user โ€” no cap, that's not its job, it's not the main character of the login flow. What it does do is grant group memberships to the user, and it does this during the credential setting phase of the authentication module. Which groups you get is based on the service you're applying for. it's giving โœจtailoredโœจ

By default, the rules for those group memberships are pulled from the config file /etc/security/group.conf. that's the vibe check location, fr fr ๐Ÿ“

Now here's the part where you gotta pay attention, bestie, because it's important ๐Ÿ‘€

This module's usefulness relies entirely on the file-systems that the user can access. The point is: once the user gets granted membership of a group, they may attempt to create a setgid binary with a restricted group ownership. And then later, when the user is not given membership to that group anymore, they can recover the group membership with that precompiled binary. ๐Ÿ˜ญ sneaky!

The reason the file-systems the user has access to matter SO much is that when a system is mounted nosuid, the user is unable to create or execute such a binary file. So:

For this module to provide any level of security, all file-systems that the user has write access to should be mounted nosuid. periodt. no exceptions. don't skip this.

And one more thing: pam_group functions in parallel with the /etc/group file. So if the user gets granted any groups based on this module's behavior, they're granted in addition to those entries in /etc/group (or the equivalent). both. at the same time. slay ๐Ÿ’…


โœจ OPTIONS โœจ

This module does not recognise any options. zero. none. nothing to configure. she's self-sufficient, she's independent, she doesn't need your flags ๐Ÿ’œ


๐ŸŒˆ MODULE TYPES PROVIDED ๐ŸŒˆ

Only the auth module type is provided. just the one. quality over quantity, bestie ๐Ÿ‘‘


๐ŸŽ€ RETURN VALUES ๐ŸŽ€

  • PAM_SUCCESS โ€” group membership was granted. we love a happy ending ๐Ÿฅณ
  • PAM_ABORT โ€” Not all relevant data could be gotten. something got lost in the group chat ๐Ÿ˜ญ
  • PAM_BUF_ERR โ€” Memory buffer error. the memory said "not today" ๐Ÿ’€
  • PAM_CRED_ERR โ€” Group membership was not granted. the vibe check failed, unfortunately ๐Ÿ™ˆ
  • PAM_IGNORE โ€” pam_sm_authenticate was called which does nothing. not me showing up to a function that has nothing to do with me ๐Ÿ˜Œ
  • PAM_USER_UNKNOWN โ€” The user is not known to the system. who is she? never heard of her ๐Ÿงš

๐Ÿ“ FILES ๐Ÿ“

  • /etc/security/group.conf โ€” Default configuration file. the home base, the main character's house ๐Ÿ 

๐Ÿ‘‘ SEE ALSO ๐Ÿ‘‘

group.conf(5), pam.d(5), pam(8).

go read those too, bestie, iykyk ๐Ÿ“š


๐Ÿ’œ AUTHORS ๐Ÿ’œ

pam_group was written by Andrew G. Morgan <morgan@kernel.org>. absolute legend, we stan ๐Ÿ”ฅ


okay that's the whole page!! and for the cute sign-off โ€” this lil masterpiece comes to you from Linux-PAM, dated 09/27/2026, and yes the manual page is literally named PAM_GROUP(8) in case you were wondering, mwah ๐Ÿ’–โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from