powerprofiles_selinux(8)
β¨ powerprofiles_selinux(8) β the manual page bestie edition β¨
Okay so, before we dive in, just know this is the manual page for powerprofiles_selinux, section 8. It's giving "SELinux policy for the powerprofiles processes" and honestly? Iconic behavior. Let's get into it, bestie. π
π NAME π
powerprofiles_selinux β Security Enhanced Linux Policy for the powerprofiles processes.
That's literally it. No cap. π«Ά
πΈ DESCRIPTION πΈ
Security-Enhanced Linux secures the powerprofiles processes via flexible mandatory access control. It's basically the bouncer at the club, but for syscalls. π₯
The powerprofiles processes execute with the powerprofiles_t SELinux type. You can check if you have these processes running by executing the ps command with the -Z qualifier. Like this:
ps -eZ | grep powerprofiles_t
That's the whole vibe check right there. If you see powerprofiles_t in the output, you're in business. π
π¦ ENTRYPOINTS π¦
The powerprofiles_t SELinux type can be entered via the powerprofiles_exec_t file type. Think of it as the VIP entrance. ποΈ
The default entrypoint paths for the powerprofiles_t domain are the following:
/usr/libexec/power-profiles-daemon
Periodt. That's the only one. π
π PROCESS TYPES π
SELinux defines process types (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.
Policy governs the access confined processes have to files. SELinux powerprofiles policy is very flexible, allowing users to setup their powerprofiles processes in as secure a method as possible. Lowkey obsessed with the flexibility. β¨
The following process types are defined for powerprofiles:
powerprofiles_t
Note:semanage permissive -a powerprofiles_tcan be used to make the process typepowerprofiles_tpermissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. So it's like, "you're not in trouble, but I'm still telling on you." π
π BOOLEANS π
SELinux policy is customizable based on least access required. powerprofiles policy is extremely flexible and has several booleans that allow you to manipulate the policy and run powerprofiles with the tightest access possible. It's giving "your vibe, your rules." πΈ
daemons_dontaudit_schedulingβ If you want to dontaudit all daemons scheduling requests (setsched,sys_nice), you must turn on this boolean. Enabled by default.
setsebool -P daemons_dontaudit_scheduling 1
fips_modeβ If you want to allow all domains to execute in fips_mode, you must turn on this boolean. Enabled by default.
setsebool -P fips_mode 1
That's the whole boolean situation. Two booleans, both enabled by default. Slay. π
π§ MANAGED FILES π§
The SELinux process type powerprofiles_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. Like, SELinux isn't gonna override your regular permissions, bestie. π
cluster_conf_tβ cluster config files, iykyk.
/etc/cluster(/.*)?
cluster_var_lib_tβ cluster variable library files. So many paths. π
/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β cluster runtime files. The way this list is long, but we respect it. π
/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
powerprofiles_var_lib_tβ the powerprofiles variable library files. Main character energy. π
/var/lib/power-profiles-daemon(/.*)?
root_tβ root files. Root is literally root. π€·ββοΈ
/sysroot/.aleph-version.json
/sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
/
/initrd
/var/lib/ntp
sysfs_tβ sysfs files. The whole/systree. Wild. π¦
/sys(/.*)?
π FILE CONTEXTS π
SELinux requires files to have an extended attribute to define the file type. It's like each file has a little name tag. π·οΈ
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 powerprofiles policy is very flexible, allowing users to setup their powerprofiles processes in as secure a method as possible. We love a flexible queen. π
πΊ STANDARD FILE CONTEXT πΊ
SELinux defines the file context types for the powerprofiles. If you 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 put the labels on disk.
semanage fcontext -a -t powerprofiles_exec_t
'/srv/powerprofiles/content(/.*)?'
restorecon -R -v /srv/mypowerprofiles_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. Regex is lowkey iconic. β¨
The following file types are defined for powerprofiles:
powerprofiles_exec_tβ Set files with thepowerprofiles_exec_ttype if you want to transition an executable to thepowerprofiles_tdomain. It's the entrypoint vibe. πͺpowerprofiles_var_lib_tβ Set files with thepowerprofiles_var_lib_ttype if you want to store the powerprofiles files under the/var/libdirectory. That's where the data lives. π
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. So like,chconis a quick fix, butsemanage fcontext+restoreconis the real glow-up. π
π₯ COMMANDS π₯
semanage fcontextcan also be used to manipulate default file context mappings. It's the queen of file contexts. πsemanage permissivecan also be used to manipulate whether or not a process type is permissive. Per my last email, permissive mode is a whole thing. πsemanage modulecan also be used to enable/disable/install/remove policy modules. Modular realness. π§©semanage booleancan also be used to manipulate the booleans. Boolean manipulation is self-care. π΅system-config-selinuxis a GUI tool available to customize SELinux policy settings. For my visual besties. π₯οΈβ¨
π AUTHOR π
This manual page was auto-generated using sepolicy manpage. Yes, it was generated. No human wrote this originally. But now it's been rewritten with love. π«Ά
π SEE ALSO π
selinux(8), powerprofiles(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
That's the whole squad right there. Go read them if you need more. Iykyk. π
Sign-off: This manual page is forpowerprofiles, dated26-10-06, frompowerprofiles_selinux(8). Stay secure, bestie. No cap. π β¨
π¦ 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