hostname_selinux(8)

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

πŸ’… hostname_selinux(8) β€” the SELinux policy for hostname, but make it make sense

okay so bestie, you opened hostname_selinux(8) from the hostname manual section, and yes it's a whole SELinux policy page, but I promise it's not scary. sit down, grab a matcha πŸ“, and let's get into it.


✨ NAME ✨

hostname_selinux β€” the Security Enhanced Linux Policy for the hostname processes. that's it, that's the name, she's iconic πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

Security-Enhanced Linux secures the hostname processes via flexible mandatory access control. lowkey the whole point. MAC said "I'm the main character now" and honestly? she ate.

The hostname processes execute with the hostname_t SELinux type. want to check if you've got these processes running? run the ps command with the -Z qualifier. easy.

For example:

ps -eZ | grep hostname_t

periodt. that's the vibe check right there πŸ”


πŸŽ€ ENTRYPOINTS πŸŽ€

The hostname_t SELinux type can be entered via the hostname_exec_t file type. that's the doorway, the portal, the little gate πŸšͺ✨

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

/usr/bin/hostname

just the one, bestie. she's exclusive like that.


🌸 PROCESS TYPES 🌸

SELinux defines process types (domains) for each process running on the system. yes, every process gets a little label. it's giving name tags at a party 🏷️

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

Policy governs the access confined processes have to files. the SELinux hostname policy is very flexible, allowing users to setup their hostname processes in as secure a method as possible. flexible and secure, we love a multihyphenate πŸ’…

The following process types are defined for hostname:

  • hostname_t
Note: semanage permissive -a hostname_t can be used to make the process type hostname_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, she's not enforcing anymore but she's still watching and taking notes πŸ‘€πŸ˜­

πŸ”₯ BOOLEANS πŸ”₯

SELinux policy is customizable based on least access required. the hostname policy is extremely flexible and has several booleans that allow you to manipulate the policy and run hostname with the tightest access possible. booleans are just lil on/off switches for policy behaviour, and yes you can toggle them, slay πŸ”˜

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

If you want to allow system to run with NIS, you must turn on the nis_enabled boolean. Disabled by default.

setsebool -P nis_enabled 1

If you want to allow confined applications to use nscd shared memory, you must turn on the nscd_use_shm boolean. Enabled by default.

setsebool -P nscd_use_shm 1

the -P in setsebool makes it persist across reboots btw. no cap, use it 🫢


🧚 MANAGED FILES 🧚

The SELinux process type hostname_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 β€” SELinux isn't out here overriding your regular Unix perms, she's just adding a layer on top 😌

  • cluster_tmp_t

🌈 FILE CONTEXTS 🌈

SELinux requires files to have an extended attribute to define the file type. yes, files have labels too. everybody's got a label in this economy 🏷️

You can see the context of a file using the -Z option to ls.

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

⭐ STANDARD FILE CONTEXT ⭐

SELinux defines the file context types for the hostname. 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. two steps, bestie, don't skip the second one πŸ’€

semanage fcontext -a -t hostname_exec_t '/srv/hostname/content(/.*)?'
restorecon -R -v /srv/myhostname_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. that (/.*)? at the end? that's the regex doing her thing ✨

The following file types are defined for hostname:

πŸ“ hostname_etc_t

  • Set files with the hostname_etc_t type, if you want to store hostname files in the /etc directories.

Paths:

/etc/.*hostname.*, /etc/machine-info, /run/systemd/default-hostname

πŸ¦‹ hostname_exec_t

  • Set files with the hostname_exec_t type, if you want to transition an executable to the hostname_t domain.
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. chcon is giving "I'll remember this until the next relabel" and honestly she will not remember πŸ™ˆ

πŸ’œ COMMANDS πŸ’œ

<kbd> no wait bestie, that's not a command 😭 here's the actual list:

  • 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 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 when clicking is the vibe πŸ–±οΈπŸ’–

🌸 AUTHOR 🌸

This manual page was auto-generated using sepolicy manpage.

so like... nobody hand-wrote this. a script did. and now I'm rewriting it. it's giving chain of custody 😭✨


πŸ‘‘ SEE ALSO πŸ‘‘

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

go read those too, iykyk 🫢


and that's the whole page, bestie πŸ’– this one was hostname, dated 26-10-06, and it's hostname_selinux(8) all the way down. stan a well-labeled system πŸŽ€βœ¨

πŸ“¦ where this page comes from