apm_selinux(8)
π
apm_selinux(8) β like, the whole SELinux policy for apm, bestie
okay so this is the apm_selinux manual page (yes, section 8, we're being fancy) and it's literally all about how SELinux locks down the apm processes. grab a snack, we're doing policy π
β¨ NAME β¨
apm_selinux β Security Enhanced Linux Policy for the apm processes
Like, the whole entire vibe of this page in one line π
πΈ DESCRIPTION πΈ
Security-Enhanced Linux secures the apm processes via flexible mandatory access control. No cap, that's the whole point.
The apm processes execute with the apm_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 apm_t
go off, ps π that -Z is doing the heavy lifting and she ate.
π¦ ENTRYPOINTS π¦
The apm_t SELinux type can be entered via the apm_exec_t file type.
The default entrypoint paths for the apm_t domain are the following:
/usr/bin/apm
that's it. one path. she's lowkey minimal and iconic for it β¨
π PROCESS TYPES π
SELinux defines process types (domains) for each process running on the system
You can see the context of a process using the -Z option to ps
Policy governs the access confined processes have to files. SELinux apm policy is very flexible allowing users to setup their apm processes in as secure a method as possible. fr fr, extremely flexible.
The following process types are defined for apm:
apmd_t, apm_t
π Note:semanage permissive -a apm_tcan be used to make the process typeapm_tpermissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, she stops yelling at you but she's still journaling about it, iykyk.
π BOOLEANS π
SELinux policy is customizable based on least access required. apm policy is extremely flexible and has several booleans that allow you to manipulate the policy and run apm with the tightest access possible. tightest access possible, bestie β we love a locked-down queen π₯
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 -P is important, she makes it persist. don't forget her π«Ά
π 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 apm policy is very flexible allowing users to setup their apm processes in as secure a method as possible. (yes she said it again, she means it π )
β STANDARD FILE CONTEXT β
SELinux defines the file context types for the apm, 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 apmd_exec_t '/srv/apm/content(/.*)?'
restorecon -R -v /srv/myapm_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 apm:
apm_exec_tβ Set files with theapm_exec_ttype, if you want to transition an executable to theapm_tdomain. πapmd_exec_tβ Set files with theapmd_exec_ttype, if you want to transition an executable to theapmd_tdomain.
Paths:
/usr/bin/apmd, /usr/bin/acpid, /usr/bin/powersaved
apmd_initrc_exec_tβ Set files with theapmd_initrc_exec_ttype, if you want to transition an executable to theapmd_initrc_tdomain.apmd_lock_tβ Set files with theapmd_lock_ttype, if you want to treat the files as apmd lock data, stored under the/var/lockdirectory
Paths:
/run/lock/lmt-req.lock, /run/lock/subsys/acpid,
/run/lock/subsys/lmt-req.lock
apmd_log_tβ Set files with theapmd_log_ttype, if you want to treat the data as apmd log data, usually stored under the/var/logdirectory.apmd_tmp_tβ Set files with theapmd_tmp_ttype, if you want to store apmd temporary files in the/tmpdirectories.apmd_unit_file_tβ Set files with theapmd_unit_file_ttype, if you want to treat the files as apmd unit content.apmd_var_lib_tβ Set files with theapmd_var_lib_ttype, if you want to store the apmd files under the/var/libdirectory.apmd_var_run_tβ Set files with theapmd_var_run_ttype, if you want to store the apmd files under the/runor/var/rundirectory.
Paths:
/run/.?acpid.socket, /run/apmd.pid, /run/acpid.pid,
/run/powersaved.pid, /run/powersave_socket
π Note: File context can be temporarily modified with thechconcommand. If you want to permanently change the file context you need to use thesemanage fcontextcommand. This will modify the SELinux labeling database. You will need to userestoreconto apply the labels. temporary vs permanent, bestie β know the difference or cry about it later π
π§ 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 booleanssystem-config-selinuxis a GUI tool available to customize SELinux policy settings. like, point-and-click SELinux, we love accessibility π
π AUTHOR π
This manual page was auto-generated using sepolicy manpage. yeah, a robot wrote it, and honestly? she devoured. π€β¨
π₯ SEE ALSO π₯
selinux(8), apm(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
and that's the tea β β this page is from apm, dated 26-10-06, and it's apm_selinux(8) if you need to cite her in your group chat. mwah π πΈ π«Ά
π¦ 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