ptal_selinux(8)

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

πŸ’… ptal_selinux(8) β€” the SELinux policy for ptal, explained by your fav unix bestie

okay so this is ptal_selinux(8), like the section-8 manual page for the SELinux policy that governs the ptal processes. yes we're doing SELinux today. drink some water. 🫢


✨ NAME ✨

ptal_selinux β€” Security Enhanced Linux Policy for the ptal processes. that's it. that's the whole name. iconic behavior honestly. πŸ’…


🌸 DESCRIPTION 🌸

Security-Enhanced Linux secures the ptal processes via flexible mandatory access control. flexible AND mandatory?? the duality. the range. πŸ’–

So the tea is: the ptal processes execute with the ptal_t SELinux type. you can vibe check whether you've got these processes running by executing the ps command with the -Z qualifier.

For example:

ps -eZ | grep ptal_t

run it. go on. i'll wait. ⭐


πŸ¦‹ ENTRYPOINTS πŸ¦‹

The ptal_t SELinux type can be entered via the ptal_exec_t file type.

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

/usr/bin/ptal-mlcd, /usr/bin/ptal-photod, /usr/bin/ptal-printd

those three. the holy trinity. no cap. πŸ‘‘


πŸŽ€ PROCESS TYPES πŸŽ€

SELinux defines process types (domains) for each process running on the system. yes, each one. everybody gets a domain, very main character energy of them.

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

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

The following process types are defined for ptal:

  • ptal_t
Note: semanage permissive -a ptal_t can be used to make the process type ptal_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like. it's not a free pass, it's just a snitch-free pass. πŸ’€

πŸ”₯ BOOLEANS πŸ”₯

SELinux policy is customizable based on least access required. ptal policy is extremely flexible and has several booleans that allow you to manipulate the policy and run ptal with the tightest access possible. tightest access possible!! we love a locked-down queen. πŸ”’

  • 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

two booleans, both enabled by default, both slaying in their own way. 🌈


⭐ PORT TYPES ⭐

SELinux defines port types to represent TCP and UDP ports. ports have types now. of course they do.

You can see the types associated with a port by using the following command:

semanage port -l

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

The following port types are defined for ptal:

  • ptal_port_t

Default Defined Ports:

          tcp 5703

one port. port 5703. she's lowkey exclusive. πŸ™ˆ


πŸ’œ MANAGED FILES πŸ’œ

The SELinux process type ptal_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. yes bestie, SELinux is not a substitute for normal permissions, they're a team. 🀝

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

ptal_var_run_t

     /run/ptal-mlcd(/.*)?
     /run/ptal-printd(/.*)?

root_t

     /sysroot/.aleph-version.json
     /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
     /
     /initrd
     /var/lib/ntp

ok that's a lot of paths but we read every single one. no skipping. that's the rule. πŸ“‹


🧚 FILE CONTEXTS 🧚

SELinux requires files to have an extended attribute to define the file type. yes, files have ✨attributes✨ now.

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 ptal policy is very flexible allowing users to setup their ptal processes in as secure a method as possible.

🌸 STANDARD FILE CONTEXT 🌸

SELinux defines the file context types for the ptal. 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 ptal_exec_t '/srv/ptal/content(/.*)?'
restorecon -R -v /srv/myptal_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex girlies rise. πŸŽ€

The following file types are defined for ptal:

  • ptal_etc_t β€” Set files with the ptal_etc_t type, if you want to store ptal files in the /etc directories.
  • ptal_exec_t β€” Set files with the ptal_exec_t type, if you want to transition an executable to the ptal_t domain.

Paths:

       /usr/bin/ptal-mlcd, /usr/bin/ptal-photod, /usr/bin/ptal-printd
  • ptal_var_run_t β€” Set files with the ptal_var_run_t type, if you want to store the ptal files under the /run or /var/run directory.

Paths:

       /run/ptal-mlcd(/.*)?, /run/ptal-printd(/.*)?
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. temporary vs permanent, know the difference bestie, this is not a drill. 😭

πŸ‘‘ 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 port can also be used to manipulate the port definitions.
  • semanage boolean can also be used to manipulate the booleans.
  • system-config-selinux is a GUI tool available to customize SELinux policy settings. yes a GUI. for the mouse girlies. πŸ–±οΈβœ¨

πŸ’– AUTHOR πŸ’–

This manual page was auto-generated using sepolicy manpage.

(an auto-generated manpage. she was born ready. we respect her for that.) πŸ€–πŸ’…


🌈 SEE ALSO 🌈

go read those too. iykyk. πŸ“š


and that's the whole page bestie, sourced from ptal, version 26-10-06, dated 26-10-06. mwah, go forth and label responsibly. πŸ“πŸ’œ

πŸ“¦ where this page comes from