mailman_cgi_selinux(8)
π mailman_cgi_selinux(8) β the SELinux Policy mailman_cgi page, but make it make sense
okay so bestie, welcome to mailman_cgi_selinux(8) β literally the whole glow-up guide to how SELinux locks down the mailman_cgi processes. grab a snack, we're getting into it π
β¨ NAME β¨
mailman_cgi_selinux β the Security Enhanced Linux Policy situation for the mailman_cgi processes π
πΈ DESCRIPTION πΈ
Security-Enhanced Linux keeps the mailman_cgi processes secure using flexible mandatory access control. it's giving very much "boundaries, but make them mandatory" π
The mailman_cgi processes run with the mailman_cgi_t SELinux type. wanna check if you've got any of those running? just run the ps command with the -Z qualifier, easy:
ps -eZ | grep mailman_cgi_t
π¦ ENTRYPOINTS π¦
The mailman_cgi_t SELinux type can be entered through the mailman_cgi_exec_t file type. yes that's the little doorway β¨
The default entrypoint paths for the mailman_cgi_t domain are literally these:
/usr/lib/mailman.*/cgi-bin/.*, /usr/lib/cgi-bin/mailman.*/.*
π PROCESS TYPES π
so SELinux defines process types (domains) for each process running on the system. main character energy for every single process, no exceptions π
- you can see the context of a process using the
-Zoption tops - policy governs the access that confined processes have to files. SELinux
mailman_cgipolicy is very flexible, allowing users to set up theirmailman_cgiprocesses in as secure a method as possible.
The following process types are defined for mailman_cgi:
mailman_cgi_t
Note:semanage permissive -a mailman_cgi_tcan be used to make the process typemailman_cgi_tpermissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it stops blocking but it still talks about you π
π₯ BOOLEANS π₯
SELinux policy is customizable based on least access required. mailman_cgi policy is extremely flexible and has several booleans that let you manipulate the policy and run mailman_cgi with the tightest access possible. we love a customizable queen π
If you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. it's enabled by default.
setsebool -P fips_mode 1
If you want to allow the system to run with NIS, you must turn on the nis_enabled boolean. it's disabled by default.
setsebool -P nis_enabled 1
π§ MANAGED FILES π§
The SELinux process type mailman_cgi_t can manage files labeled with the following file types. the paths listed are the default paths for these file types. heads up though: the process's UID still needs to have DAC permissions. no skipping that line, bestie π
fusefs_t
/run/user/[0-9]+/gvfs
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
mailman_archive_t
/var/lib/mailman.*/archives(/.*)?
mailman_cgi_tmp_tβ that's it, no default paths listed for this one π«Άmailman_data_t
/etc/mailman.*
/var/lib/mailman(/.*)?
/var/spool/mailman.*
mailman_lock_t
/run/lock/mailman.*
/run/lock/subsys/mailman.*
mailman_log_t
/var/log/mailman.*
π FILE CONTEXTS π
SELinux requires files to have an extended attribute to define the file type. yes, every file gets an β¨identityβ¨
- you can see the context of a file using the
-Zoption tols - policy governs the access confined processes have to these files. SELinux
mailman_cgipolicy is very flexible, allowing users to set up theirmailman_cgiprocesses in as secure a method as possible.
π STANDARD FILE CONTEXT π
SELinux defines the file context types for the mailman_cgi, so if you ever wanted to store files with these types in different paths, you need to execute the semanage command to specify alternate labeling β and then use restorecon to actually put the labels on disk. two-step slay, no cap:
semanage fcontext -a -t mailman_cgi_exec_t
'/srv/mailman_cgi/content(/.*)?'
restorecon -R -v /srv/mymailman_cgi_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex girlies stay winning π
The following file types are defined for mailman_cgi:
β mailman_cgi_exec_t
- Set files with the
mailman_cgi_exec_ttype if you want to transition an executable to themailman_cgi_tdomain.
Paths:
/usr/lib/mailman.*/cgi-bin/.*, /usr/lib/cgi-bin/mailman.*/.*
β mailman_cgi_tmp_t
- Set files with the
mailman_cgi_tmp_ttype if you want to store mailman cgi temporary files in the/tmpdirectories.
Note: file context can be temporarily modified with thechconcommand. but if you want to permanently change the file context, you need to use thesemanage fcontextcommand. this modifies the SELinux labeling database. and then you'll need to userestoreconto apply the labels. temporary vs permanent is literally not the same thing, don't come for me π
π COMMANDS π
semanage fcontextcan also be used to manipulate default file context mappings.semanage permissivecan also be used to manipulate whether or not a process type is permissive.semanage modulecan also be used to enable/disable/install/remove policy modules.semanage booleancan also be used to manipulate the booleans.system-config-selinuxis a GUI tool available to customize SELinux policy settings. yes, a whole GUI, for the girlies who like buttons π«Ά
π AUTHOR π
This manual page was auto-generated using sepolicy manpage. the robots did this one, not me π§
πΈ SEE ALSO πΈ
selinux(8), mailman_cgi(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8) β go read those too, iykyk π
and that's the whole page, bestie!! ok bye ily, this was mailman_cgi β dated 26-10-06, from the mailman_cgi_selinux(8) era, and yes the footer said mailman_cgi_selinux(8) again because consistency is iconic β¨ππ
π¦ where this page comes from
- opensuse-leap 16.0: selinux-policy-doc 20250627+git412.dbf877ab7-160000.1.1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms