cockpit_...n_selinux(8)

✨ cockpit_session_selinux β€” the manual, but make it make sense ✨

okay bestie, so this is the manual page for cockpit_session_selinux(8) πŸ’– it's the SELinux policy page for the cockpit_session processes, and honestly? it's a lot of info but we're gonna get through it together. grab a strawberry πŸ“


🌸 NAME 🌸

cockpit_session_selinux β€” Security Enhanced Linux Policy for the cockpit_session processes. that's the whole vibe. no cap.


πŸ¦‹ DESCRIPTION πŸ¦‹

Security-Enhanced Linux secures the cockpit_session processes via flexible mandatory access control. yes, mandatory. it's giving strict parent energy and honestly it's iconic for it πŸ’…

The cockpit_session processes execute with the cockpit_session_t SELinux type. wanna check if you've got these processes running? just run the ps command with the -Z qualifier. ez.

For example:

ps -eZ | grep cockpit_session_t

like literally that's it. go look πŸ‘€


πŸŽ€ ENTRYPOINTS πŸŽ€

The cockpit_session_t SELinux type can be entered via the cockpit_session_exec_t file type.

The default entrypoint paths for the cockpit_session_t domain is:

/usr/libexec/cockpit-session

that's the one (1) door in πŸšͺ✨


πŸ‘‘ PROCESS TYPES πŸ‘‘

SELinux defines process types (domains) for each process running on the system. every process gets its own little label, main character energy for everyone fr fr.

You can see the context of a process using the -Z option to ps.

Policy governs the access confined processes have to files. SELinux cockpit_session policy is very flexible, allowing users to setup their cockpit_session processes in as secure a method as possible. flexible and secure? she's doing both πŸ’…

The following process types are defined for cockpit_session:

  • cockpit_session_t
Note: semanage permissive -a cockpit_session_t can be used to make the process type cockpit_session_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated.

so like, permissive = it stops blocking you, but it's still writing down everything you do in its diary πŸ““ (those AVC messages? yeah, receipts.)


πŸ’– BOOLEANS πŸ’–

SELinux policy is customizable based on least access required. cockpit_session policy is extremely flexible and has several booleans that allow you to manipulate the policy and run cockpit_session with the tightest access possible. booleans are basically little on/off switches and we're OBSESSED πŸ”₯

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 confined applications to run with kerberos, you must turn on the kerberos_enabled boolean. Enabled by default.

setsebool -P kerberos_enabled 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

If you want to enable polyinstantiated directory support, you must turn on the polyinstantiation_enabled boolean. Disabled by default.

setsebool -P polyinstantiation_enabled 1

not me listing all four booleans with their exact commands and default states 😭 that's the whole list, we didn't skip a single one 🫢


🌈 MANAGED FILES 🌈

The SELinux process type cockpit_session_t can manage files labeled with the following file types. The paths listed are the default paths for these file types.

Note the processes UID still need to have DAC permissions.

so like, SELinux saying "yes you may" doesn't mean the regular permission system agrees. two bouncers at the door, both gotta let you in 😭

auth_cache_t

/var/cache/coolkey(/.*)?

auth_home_t

/root/.yubico(/.*)?
/root/.config/Yubico(/.*)?
/root/.google_authenticator
/root/.google_authenticator~
/home/[^/]+/.yubico(/.*)?
/home/[^/]+/.config/Yubico(/.*)?
/home/[^/]+/.google_authenticator
/home/[^/]+/.google_authenticator~

faillog_t

/var/log/btmp.*
/var/log/faillog.*
/var/log/tallylog.*
/var/run/faillock(/.*)?

initrc_var_run_t

/var/run/utmp
/var/run/random-seed
/var/run/runlevel.dir
/var/run/setmixer_flag

lastlog_t

/var/log/lastlog.*

pam_var_run_t

/var/(db|adm)/sudo(/.*)?
/var/lib/sudo(/.*)?
/var/run/sudo(/.*)?
/var/run/pam_ssh(/.*)?
/var/run/sepermit(/.*)?
/var/run/pam_mount(/.*)?
/var/run/pam_timestamp(/.*)?

security_t

/selinux

shadow_t

/etc/shadow.*
/etc/gshadow.*
/etc/nshadow.*
/var/db/shadow.*
/etc/security/opasswd
/etc/security/opasswd.old

var_auth_t

/var/ace(/.*)?
/var/rsa(/.*)?
/var/lib/abl(/.*)?
/var/lib/rsa(/.*)?
/var/lib/pam_ssh(/.*)?
/var/lib/pam_shield(/.*)?
/var/opt/quest/vas/vasd(/.*)?
/var/lib/google-authenticator(/.*)?

wtmp_t

/var/log/wtmp.*

look at all those paths, she's thorough πŸ’œ


🧚 FILE CONTEXTS 🧚

SELinux requires files to have an extended attribute to define the file type.

You can see the context of a file using the -Z option to ls.

Policy governs the access confined processes have to these files. SELinux cockpit_session policy is very flexible, allowing users to setup their cockpit_session processes in as secure a method as possible.

The following file types are defined for cockpit_session:

cockpit_session_exec_t

  • Set files with the cockpit_session_exec_t type, if you want to transition an executable to the cockpit_session_t domain.

Paths:

/usr/libexec/cockpit-session
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 chcon = temporary glow-up ✨, semanage fcontext = permanent makeover πŸ’…, and restorecon = the one who actually applies it. iykyk.


⭐ COMMANDS ⭐

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.

system-config-selinux is a GUI tool available to customize SELinux policy settings. yes bestie, a GUI, if the terminal life isn't your moment πŸ–±οΈβœ¨


πŸ’€ AUTHOR πŸ’€

This manual page was auto-generated using sepolicy manpage.

(so nobody hand-wrote this, it's a robot's homework and it ate πŸ”₯)


🫢 SEE ALSO 🫢


and that's the whole page, bestie, every flag, path, boolean, default and command accounted for, no skips, no cuts πŸŽ€

signing off from the cockpit_session manual β€” this one came from cockpit_...n_selinux(8), dated 21-04-16. love u, stay confined πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from