courier_pop_selinux(8)

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

✨ courier_pop_selinux(8) ✨

Hey bestie, welcome to the ✨courier_pop✨ SELinux manual page. Periodt. This is the whole vibe for the courier_pop_selinux manual β€” Security Enhanced Linux Policy for the courier_pop processes. Let's get into it. πŸ’…


πŸ’– THE NAME πŸ’–

courier_pop_selinux β€” Security Enhanced Linux Policy for the courier_pop processes. That's the whole name, no cap.


🌸 DESCRIPTION 🌸

So <pink>Security-Enhanced Linux</pink> secures the courier_pop processes via flexible mandatory access control. It's giving "I'm in charge here" energy, lowkey.

The courier_pop processes execute with the courier_pop_t SELinux type. You can check if you have these processes running by executing the ps command with the -Z qualifier.

For example:

ps -eZ | grep courier_pop_t

That's it. That's the vibe check. πŸ¦‹


πŸŽ€ ENTRYPOINTS πŸŽ€

The courier_pop_t SELinux type can be entered via the courier_pop_exec_t file type. So that's the door you gotta walk through to get in.

The default entrypoint paths for the courier_pop_t domain are the following:

  • /usr/lib/courier/courier/courierpop.*
  • /usr/bin/imapd
  • /usr/bin/imaplogin
  • /usr/bin/courier-imapd
  • /usr/lib/courier/imapd
  • /usr/lib/courier/pop3d
  • /usr/lib/courier/courier/imaplogin

All the doors, listed. You're welcome. 🫢


πŸ‘‘ PROCESS TYPES πŸ‘‘

SELinux defines process types (domains) for each process running on the system. It's literally just giving every process its own little label so they know their place.

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

Policy governs the access confined processes have to files. SELinux courier_pop policy is very flexible allowing users to setup their courier_pop processes in as secure a method as possible. Flexible AND secure? We love to see it.

The following process types are defined for courier_pop:

  • courier_pop_t
Note: semanage permissive -a courier_pop_t can be used to make the process type courier_pop_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. So it's like "I'm not gonna stop you but I'm definitely gonna journal about it." 😭

πŸ”₯ BOOLEANS πŸ”₯

SELinux policy is customizable based on least access required. courier_pop policy is extremely flexible and has several booleans that allow you to manipulate the policy and run courier_pop with the tightest access possible. The tightest access. Very demure, very mindful.

If you want to dontaudit all daemons scheduling requests (setsched, sys_nice), you must turn on the daemons_dontaudit_scheduling boolean. Enabled by default.

setsebool -P daemons_dontaudit_scheduling 1

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

That's the whole boolean section. Short, sweet, iconic. πŸ’œ


πŸ¦‹ MANAGED FILES πŸ¦‹

The SELinux process type courier_pop_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. (DAC said "I'm still here bestie, don't forget me.") πŸ™ˆ

  • cluster_conf_t
    • /etc/cluster(/.*)?
  • cluster_var_lib_t
    • /var/lib/pcsd(/.*)?
    • /var/lib/cluster(/.*)?
    • /var/lib/openais(/.*)?
    • /var/lib/pengine(/.*)?
    • /var/lib/corosync(/.*)?
    • /usr/lib/heartbeat(/.*)?
    • /var/lib/heartbeat(/.*)?
    • /var/lib/pacemaker(/.*)?
  • cluster_var_run_t
    • /run/crm(/.*)?
    • /run/cman_.*
    • /run/rsctmp(/.*)?
    • /run/aisexec.*
    • /run/heartbeat(/.*)?
    • /run/pcsd-ruby.socket
    • /run/corosync-qnetd(/.*)?
    • /run/corosync-qdevice(/.*)?
    • /run/pcsd.socket
    • /run/corosync.pid
    • /run/cpglockd.pid
    • /run/rgmanager.pid
    • /run/cluster/rgmanager.sk
  • courier_var_run_t
    • /run/courier(/.*)?
  • root_t
    • /sysroot/.aleph-version.json
    • /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
    • /
    • /initrd
    • /var/lib/ntp
  • user_home_t
    • /home/[^/]+/.+

All those paths, all that access. No cap. πŸŽ€


🌈 FILE CONTEXTS 🌈

SELinux requires files to have an extended attribute to define the file type. It's like every file has a little name tag, and if it loses its name tag it's not allowed in the club.

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

Policy governs the access confined processes have to these files. SELinux courier_pop policy is very flexible allowing users to setup their courier_pop processes in as secure a method as possible. Again with the flexible AND secure. We stan. πŸ’–

⭐ STANDARD FILE CONTEXT ⭐

SELinux defines the file context types for the courier_pop, 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.

semanage fcontext -a -t courier_pop_exec_t '/srv/courier_pop/content(/.*)?'
restorecon -R -v /srv/mycourier_pop_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. Regex said "I contain multitudes." πŸ’€

The following file types are defined for courier_pop:

  • courier_pop_exec_t
    • Set files with the courier_pop_exec_t type, if you want to transition an executable to the courier_pop_t domain.
    • Paths:
      • /usr/lib/courier/courier/courierpop.*
      • /usr/bin/imapd
      • /usr/bin/imaplogin
      • /usr/bin/courier-imapd
      • /usr/lib/courier/imapd
      • /usr/lib/courier/pop3d
      • /usr/lib/courier/courier/imaplogin
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 is the quick fix, semanage fcontext + restorecon is the permanent slay. Don't forget the difference, iykyk. πŸ”₯

πŸ’… COMMANDS πŸ’…

Listen, there's a whole toolset for this and you're gonna use it.

  • 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. For when you want the whole vibe with a visual interface. πŸ–₯️✨

🌸 AUTHOR 🌸

This manual page was auto-generated using sepolicy manpage. Not me writing it by hand, the machine did it. And honestly? It ate. πŸ’…


🌟 SEE ALSO 🌟

Go check out these other icons when you're done here:


That's the whole page bestie. This iconic piece was brought to you by courier_pop (source), version 26-10-06, dated the same day 26-10-06. Now go forth and SELinux responsibly. πŸ«Άβœ¨πŸ’–

πŸ“¦ where this page comes from