When the user which is logging in matches an entry in the config file he is allowed access only when the SELinux is in enforcing mode. Otherwise he is denied access. For users not matching any entry in the config file the pam_sepermit module returns PAM_IGNORE return value.
The config file contains a simple list of user names one per line. If the name is prefixed with @ 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. Note that when SELinux is disabled the SELinux user assigned to the account cannot be determined. This means that such entries are never matched when SELinux is disabled and pam_sepermit will return PAM_IGNORE.
Each user name in the configuration file can have optional arguments separated by : character. The only currently recognized argument is exclusive. The pam_sepermit module will allow only single concurrent user session for the user with this argument specified and it will attempt to kill all processes of the user after logout.
Only the auth and account services are supported.
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
pam.conf(5), pam.d(5), pam(7)
pam_sepermit was written by Tomas Mraz <email@example.com>.