PAM_SELINUX(7)
โจ PAM_SELINUX โ the manual page bestie ๐
okay so this is pam_selinux(7), part of the Linux-PAM Manual, and it's literally the module that sets your default security context. sit down, grab a strawberry, we're doing SELinux today ๐
๐ธ NAME ๐ธ
pam_selinux โ PAM module to set the default security context
โจ SYNOPSIS โจ
pam_selinux.so [open] [close] [restore] [nottys] [debug] [verbose]
[select_context] [env_params] [use_current_range]
๐ DESCRIPTION ๐
pam_selinux is a PAM module that sets up the default SELinux security context for the next process that gets executed. iconic behavior, no cap.
When a new session is started, the open_session part of the module computes and sets up:
- the execution security context used for the next
execve(2)call, - the file security context for the controlling terminal,
- and the security context used for creating a new kernel keyring.
When the session is ended, the close_session part of the module restores the old security contexts โ the ones that were in effect before the open_session part of the module changed them. we love a comeback arc ๐
โ ๏ธ ngl, addingpam_selinuxinto the PAM stack might disrupt the behavior of other PAM modules that execute applications. to avoid that:pam_selinux.so openshould be placed after such modules in the PAM stack, andpam_selinux.so closeshould be placed before them. and when that placement just isn't feasible?pam_selinux.so restorecan be used to temporarily restore the original security contexts. slay ๐
๐ OPTIONS ๐
openโ Only execute theopen_sessionpart of the module. just the opening act, nothing else.closeโ Only execute theclose_sessionpart of the module. closing time, you don't have to go home but you can't stay here.restoreโ In theopen_sessionpart of the module, temporarily restore the security contexts as they were before the previous call of the module. Another call of this module without therestoreoption will set up the new security contexts again. it's giving undo button ๐ซถnottysโ Do not setup security context of the controlling terminal.debugโ Turn on debug messages viasyslog(3). we're nosy, we want the tea ๐verboseโ Attempt to inform the user when security context is set. communication! we love her!select_contextโ Attempt to ask the user for a custom security context role. If MLS is on, ask also for sensitivity level.env_paramsโ Attempt to obtain a custom security context role from the PAM environment. If MLS is on, obtain also the sensitivity level. This option and theselect_contextoption are mutually exclusive. The respective PAM environment variables areSELINUX_ROLE_REQUESTED,SELINUX_LEVEL_REQUESTED, andSELINUX_USE_CURRENT_RANGE. The first two variables are self describing and the last one, if set to1, makes the PAM module behave as if theuse_current_rangewas specified on the command line of the module. iykyk.use_current_rangeโ Use the sensitivity level of the current process for the user context instead of the default level. Also suppresses asking of the sensitivity level from the user or obtaining it from the PAM environment. main character energy, obviously โจ
๐ MODULE TYPES PROVIDED ๐
Only the session module type is provided. one job, and she does it beautifully ๐
๐ RETURN VALUES ๐
PAM_SUCCESSโ The security context was set successfully. ate, periodt ๐PAM_SESSION_ERRโ Unable to get or set a valid context. ๐ญPAM_USER_UNKNOWNโ The user is not known to the system. not me not knowing you ๐PAM_BUF_ERRโ Memory allocation error. the RAM said no ๐
๐ฆ EXAMPLES ๐ฆ
auth required pam_unix.so
session required pam_permit.so
session optional pam_selinux.so
look at her. three lines. flawless. โจ
โญ SEE ALSO โญ
execve(2), tty(4), pam.d(5), pam(7), selinux(8)
๐ง AUTHOR ๐ง
pam_selinux was written by Dan Walsh <dwalsh@redhat.com>. thank you king ๐ซถ
so yeah, that's the whole page! this came out of the Linux-PAM Manual and the page itself is dated 09/03/2021, filed under PAM_SELINUX(7). go forth and set your contexts, bestie โ you're gonna do amazing ๐ธ๐โจ
๐ฆ where this page comes from
- debian bookworm: libpam-modules 1.5.2-6+deb12u2 ยท BSD-3-Clause OR GPL
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms