pam_console_selinux(8)

πŸ“¦
version 20250627+git412.dbf877ab7 Β· 7 versions
, in opensuse-leap 16.0

πŸ’… pam_console_selinux β€” bestie's guide to keeping pam_console iconic and contained πŸ”’βœ¨

okay so listen. this is the pam_console_selinux(8) page from the SELinux Policy pam_console manual, and it's literally all about how SELinux locks down the pam_console processes. ngl, it's giving "mandatory access control but make it fashion." πŸ’–


πŸŽ€ NAME πŸŽ€

pam_console_selinux β€” Security Enhanced Linux Policy for the pam_console processes. no cap, that's the whole vibe. πŸ’…


✨ DESCRIPTION ✨

Security-Enhanced Linux secures the pam_console processes via flexible mandatory access control. slay. πŸ”₯

so the pam_console processes execute with the pam_console_t SELinux type. wanna check if you've got these processes running? just run the ps command with the -Z qualifier, easy peasy. πŸ¦‹

for example:

ps -eZ | grep pam_console_t

literally that's it. go off. πŸ‘‘


🌸 ENTRYPOINTS 🌸

okay so the pam_console_t SELinux type can be entered via the pam_console_exec_t file type. that's the gateway, the main character energy of file types. ✨

the default entrypoint paths for the pam_console_t domain are, and I cannot stress this enough, exactly this:

/usr/bin/pam_console_apply

no more, no less. periodt. 🫢


πŸ¦‹ PROCESS TYPES πŸ¦‹

SELinux defines process types (aka domains) for each process running on the system. it's a whole thing. πŸ’œ

you can see the context of a process using the -Z option to ps. that's your bestie for context-checking. πŸ”

so policy governs the access that confined processes have to files. and SELinux pam_console policy is very flexible β€” it lets users set up their pam_console processes in as secure a method as possible. tight security, cute vibes. πŸ’–

the following process types are defined for pam_console:

  • pam_console_t
Note: semanage permissive -a pam_console_t can be used to make the process type pam_console_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it's not a free pass, bestie, the receipts are still there. πŸ˜­πŸ“‹

🌈 BOOLEANS 🌈

SELinux policy is customizable based on least access required. the pam_console policy is extremely flexible and has several booleans that allow you to manipulate the policy and run pam_console with the tightest access possible. customization? we love to see it. πŸ’…

if you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. Enabled by default. ✨

setsebool -P fips_mode 1

if you want to allow system to run with NIS, you must turn on the nis_enabled boolean. Disabled by default.

setsebool -P nis_enabled 1

that's the whole boolean situation, fr fr. πŸ“


🧚 MANAGED FILES 🧚

so the SELinux process type pam_console_t can manage files labeled with the following file types. the paths listed are the default paths for these file types. just a heads up tho β€” the processes UID still need to have DAC permissions. don't forget that part, bestie. πŸ™ˆ

πŸ’« krb5_host_rcache_t

/var/tmp/krb5_0.rcache2
/var/cache/krb5rcache(/.*)?
/var/tmp/nfs_0
/var/tmp/DNS_25
/var/tmp/host_0
/var/tmp/imap_0
/var/tmp/HTTP_23
/var/tmp/HTTP_48
/var/tmp/ldap_55
/var/tmp/ldap_487
/var/tmp/ldapmap1_0

look at all those paths. iconic. πŸŽ€


πŸ‘‘ FILE CONTEXTS πŸ‘‘

SELinux requires files to have an extended attribute to define the file type. fancy, right? πŸ’–

you can see the context of a file using the -Z option to ls. your go-to move. 🌟

policy governs the access that confined processes have to these files. and again β€” SELinux pam_console policy is very flexible, allowing users to set up their pam_console processes in as secure a method as possible. we stan flexibility with boundaries. πŸ’œ

⭐ STANDARD FILE CONTEXT ⭐

SELinux defines the file context types for the pam_console. if you wanted to store files with these types in a different paths, you need to execute the semanage command to specify alternate labeling and then use restorecon to put the labels on disk. here's the whole glow-up:

semanage fcontext -a -t pam_console_exec_t '/srv/pam_console/content(/.*)?'
restorecon -R -v /srv/mypam_console_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex girlies rise. πŸ¦‹

the following file types are defined for pam_console:

πŸ’… pam_console_exec_t

  • Set files with the pam_console_exec_t type, if you want to transition an executable to the pam_console_t domain. that's the whole point, bestie. ✨
Note: File context can be temporarily modified with the chcon command. If you want to permanently change the file context you need to use the semanage fcontext command. This will modify the SELinux labeling database. You will need to use restorecon to apply the labels. so like, chcon is the quick fix, semanage fcontext + restorecon is the forever commitment. iykyk. πŸ’

πŸ”₯ COMMANDS πŸ”₯

lowkey these are the tools you'll actually be using:

  • semanage fcontext can also be used to manipulate default file context mappings.
  • semanage permissive can also be used to manipulate whether or not a process type is permissive.
  • semanage module can also be used to enable/disable/install/remove policy modules.
  • semanage boolean can also be used to manipulate the booleans. yes, all the booleans. 🌈
  • system-config-selinux is a GUI tool available to customize SELinux policy settings. for the visual learners out there. 🎨

🌟 AUTHOR 🌟

This manual page was auto-generated using sepolicy manpage. the robots did it, and honestly? they ate. πŸ€–πŸ’–


🫢 SEE ALSO 🫢

okay these are your homework links, bestie, go read them:

selinux(8), pam_console(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)


and that's the whole page!! source/version pam_console and date 26-10-06 β€” shoutout to the original manpage for the lore. stay secure, stay slay, and remember: mandatory access control is just boundaries with extra steps. πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from