PAM_SEPERMIT(8)
๐ NAME ๐
ok so <pink>pam_sepermit</pink> โ it's a PAM module that lets you log in or straight up blocks you depending on the SELinux enforcement state. that's the whole vibe bestie โจ
๐ฆ SYNOPSIS ๐ฆ
pam_sepermit.so [debug] [conf=/path/to/config/file]
๐ธ DESCRIPTION ๐ธ
okok so here's the tea. the <pink>pam_sepermit</pink> module allows or denies login depending on the SELinux enforcement state. literally that's it, that's the job ๐
when the users who are logging in match an entry in the config file, they are allowed access only when SELinux is in enforcing mode. otherwise? denied. no access. bye ๐ for users who don't match any entry in the config file, pam_sepermit returns the PAM_IGNORE return value โ it just minds its own business fr fr.
so the config file contains a list of user names, one per line, with optional arguments. and here's the key part, bestie, pay attention:
- if the name is prefixed with a
@character it means that all users in the group name match. - if it is prefixed with a
%character the SELinux user is used to match against the name instead of the account name.
โ ๏ธ heads up: when SELinux is disabled, the SELinux user assigned to the account cannot be determined. that means those entries are never matched when SELinux is disabled andpam_sepermitwill returnPAM_IGNORE. it's giving "can't check what doesn't exist" ๐ญ
see sepermit.conf(5) for details ๐
โจ OPTIONS โจ
debugโ turns on debugging viasyslog(3). yes queen, log everything ๐conf=/path/to/config/fileโ path to an alternative config file that overrides the default. main character energy, you get to pick your own file ๐
๐ MODULE TYPES PROVIDED ๐
the auth and account module types are provided. that's it, those two ๐ซถ
๐ฅ RETURN VALUES ๐ฅ
PAM_AUTH_ERRโ SELinux is disabled or in the permissive mode and the user matches. so close and yet so far ๐PAM_SUCCESSโ SELinux is in the enforcing mode and the user matches. we love to see it, slay โจPAM_IGNOREโ the user does not match any entry in the config file. not my problem, not my business ๐PAM_USER_UNKNOWNโ the module was unable to determine the user's name. who even are you ๐ญPAM_SERVICE_ERRโ error during reading or parsing the config file. the config file said "no โค๏ธ"
๐ FILES ๐
/etc/security/sepermit.confโ the default configuration file ๐
โญ EXAMPLES โญ
here's the setup, copy it exactly bestie:
auth [success=done ignore=ignore default=bad] pam_sepermit.so
auth required pam_unix.so
account required pam_unix.so
session required pam_permit.so
๐ SEE ALSO ๐
sepermit.conf(5), pam.conf(5), pam.d(5), pam(8) selinux(8)
๐ง AUTHOR ๐ง
pam_sepermit and this manual page were written by Tomas Mraz <tmraz@redhat.com>. ty for your service, legend ๐
ok that's the whole page, you ate that ๐ this was the Linux-PAM manual, dated 07/08/2026, and the page is PAM_SEPERMIT(8). now go forth and login correctly, ily ๐โจ
๐ฆ where this page comes from
- fedora 44: pam 1.7.2-2.fc44 ยท BSD-3-Clause AND GPL-2.0-or-later
- fedora 44: pam 1.7.2-2.fc44 ยท BSD-3-Clause AND GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms