ypserv_selinux(8)

๐Ÿ“ฆ
version 20250627+git412.dbf877ab7 ยท 7 versions
, in opensuse-leap 16.0

๐Ÿ’– ypserv_selinux โ€” the whole manual, bestie ๐Ÿ’–

okay so welcome to the ypserv_selinux(8) page โ€” the manual name is literally right there, and we are gonna get into the SELinux policy for ypserv like it's the main character. no cap, this is important stuff. ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

ypserv_selinux โ€” Security Enhanced Linux Policy for the ypserv processes. that's the whole name and the whole assignment, periodt. โœจ


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

Security-Enhanced Linux secures the ypserv processes via flexible mandatory access control. yes bestie, SELinux is the bouncer at the club and ypserv is on the list. ๐ŸŽ€

The ypserv processes execute with the ypserv_t SELinux type. You can check if you have these processes running by executing the ps command with the -Z qualifier. like, go look, iykyk.

For example:

ps -eZ | grep ypserv_t

that's the vibe check right there. ๐Ÿ”ฅ


๐Ÿšช ENTRYPOINTS ๐Ÿšช

The ypserv_t SELinux type can be entered via the ypserv_exec_t file type. that's the doorway, okay?

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

/usr/bin/ypserv

literally the one path and it's iconic. ๐Ÿ‘‘


๐Ÿซถ PROCESS TYPES ๐Ÿซถ

SELinux defines process types (domains) for each process running on the system. so every process has a little domain card and we respect it.

You can see the context of a process using the -Z option to ps. yes, same -Z energy as before.

Policy governs the access confined processes have to files. SELinux ypserv policy is very flexible allowing users to setup their ypserv processes in as secure a method as possible. lowkey flexible, highkey secure. ๐ŸŒˆ

The following process types are defined for ypserv:

  • ypserv_t
Note: semanage permissive -a ypserv_t can be used to make the process type ypserv_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so it's still gonna tattle in the logs, bestie, just not block you. ๐Ÿ’€

๐ŸŽ€ BOOLEANS ๐ŸŽ€

SELinux policy is customizable based on least access required. ypserv policy is extremely flexible and has several booleans that allow you to manipulate the policy and run ypserv with the tightest access possible. we love a customizable 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

both enabled by default, so if you're like "wait, that's already on?" โ€” yes babe, it is. ๐Ÿ™ˆ


๐Ÿ“ MANAGED FILES ๐Ÿ“

The SELinux process type ypserv_t can manage files labeled with the following file types. The paths listed are the default paths for these file types. Note the process's UID still need to have DAC permissions. SELinux does not do your regular Unix permissions for you, no matter how cute it is. ๐Ÿ’…

  • 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
  • root_t
    • /sysroot/.aleph-version.json
    • /sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
    • /
    • /initrd
    • /var/lib/ntp
  • var_yp_t
    • /var/yp(/.*)?
  • ypserv_tmp_t
  • ypserv_var_run_t
    • /run/ypserv.*

see how ypserv_tmp_t has no paths listed? still a whole file type though, don't erase her. ๐Ÿฆ‹


๐Ÿ—‚๏ธ FILE CONTEXTS ๐Ÿ—‚๏ธ

SELinux requires files to have an extended attribute to define the file type. yes, files have labels too, it's giving accessories. ๐ŸŽ€

You can see the context of a file using the -Z option to ls. same -Z energy, different command, love that consistency.

Policy governs the access confined processes have to these files. SELinux ypserv policy is very flexible allowing users to setup their ypserv processes in as secure a method as possible. again: flexible, secure, iconic. โœจ

๐Ÿ’– STANDARD FILE CONTEXT ๐Ÿ’–

SELinux defines the file context types for the ypserv, 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. okay so two-step process, don't skip the restorecon or the label is not actually on disk, bestie. ๐Ÿ˜ญ

semanage fcontext -a -t ypserv_exec_t '/srv/ypserv/content(/.*)?'
restorecon -R -v /srv/myypserv_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex is doing a lot of heavy lifting here, respect her. ๐Ÿซถ

The following file types are defined for ypserv:

  • ypserv_conf_t โ€” Set files with the ypserv_conf_t type, if you want to treat the files as ypserv configuration data, usually stored under the /etc directory.
  • ypserv_exec_t โ€” Set files with the ypserv_exec_t type, if you want to transition an executable to the ypserv_t domain.
  • ypserv_tmp_t โ€” Set files with the ypserv_tmp_t type, if you want to store ypserv temporary files in the /tmp directories.
  • ypserv_var_run_t โ€” Set files with the ypserv_var_run_t type, if you want to store the ypserv files under the /run or /var/run directory.
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 little touch-up, semanage fcontext is the permanent glow-up, and restorecon is the finishing spray. ๐Ÿ’…

๐Ÿ› ๏ธ COMMANDS ๐Ÿ› ๏ธ

semanage fcontext can also be used to manipulate default file context mappings. yes, same command family as above, she does it all.

semanage permissive can also be used to manipulate whether or not a process type is permissive. remember that ypserv_t note? this is the tool.

semanage module can also be used to enable/disable/install/remove policy modules. modules are like policy DLC, lowkey. ๐ŸŽฎ

semanage boolean can also be used to manipulate the booleans. the booleans from earlier? yes, her.

system-config-selinux is a GUI tool available to customize SELinux policy settings. for when you want a little point-and-click moment instead of typing. ๐Ÿ–ฑ๏ธโœจ


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

This manual page was auto-generated using sepolicy manpage . yes, auto-generated, and still ate. ๐Ÿ’…


๐Ÿ”— SEE ALSO ๐Ÿ”—

selinux(8), ypserv(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)

go read those too, bestie, the lore is deep. ๐Ÿฆ‹


and that's the whole page! brought to you by source ypserv, dated 26-10-06, with the manual name ypserv_selinux(8) โ€” bye bestie, go label your files responsibly! ๐Ÿ’–โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from