thumb_selinux(8)

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

πŸ’… thumb_selinux(8) β€” the thumb_selinux glow-up πŸŽ€

okay bestie, welcome to the thumb_selinux page from the SELinux Policy thumb manual, section 8. this is the whole lore, no skips, no "you don't need to know that" β€” we're getting into it πŸ’–


✨ NAME ✨

thumb_selinux β€” the Security Enhanced Linux Policy for the thumb processes. that's it, that's the name, and honestly it ate πŸ‘‘


🌸 DESCRIPTION 🌸

Security-Enhanced Linux secures the thumb processes via flexible mandatory access control. yeah. it's giving "the bouncer at the club but for syscalls" πŸ’…

So the thumb processes execute with the thumb_t SELinux type. You can vibe-check whether you have these processes running by executing the ps command with the -Z qualifier.

For example:

ps -eZ | grep thumb_t

literally that's it. run it, see who's showing up wearing the thumb_t fit πŸ¦‹


πŸšͺ ENTRYPOINTS πŸšͺ

okay so the thumb_t SELinux type can be entered via the thumb_exec_t file type. that's the door, that's the entry point, iykyk ✨

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

/usr/bin/[^/]*thumbnailer, /usr/bin/gnome-[^/]*-thumbnailer(.sh)?,
/usr/lib/tumbler-?[^/]*/tumblerd, /usr/bin/raw-thumbnailer,
/usr/bin/ffmpegthumbnailer, /usr/bin/whaaw-thumbnailer, /usr/bin/evince-
thumbnailer, /usr/bin/mate-thumbnail-font, /usr/bin/gnome-thumbnail-
font, /usr/bin/gsf-office-thumbnailer, /usr/bin/totem-video-thumbnailer,
/usr/bin/shotwell-video-thumbnailer

that's a LOT of thumbnailers and honestly every single one of them is invited to the party πŸŽ‰ (also yes, the evince- / mate-thumbnail- / gnome-thumbnail- line breaks are just the page wrapping β€” copy them carefully fr fr)


πŸ‘― PROCESS TYPES πŸ‘―

SELinux defines process types (domains) for each process running on the system. main character energy for every process, basically πŸ’«

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

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

The following process types are defined for thumb:

thumb_t
Note: semanage permissive -a thumb_t can be used to make the process type thumb_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it stops enforcing but it's still watching you πŸ‘€ gorgeous, a little unhinged, we love her 🫢

🎚️ BOOLEANS 🎚️

SELinux policy is customizable based on least access required. thumb policy is extremely flexible and has several booleans that allow you to manipulate the policy and run thumb with the tightest access possible. like a little wardrobe of permissions, pick your lewks πŸ’–

  • 🚫 If you want to deny user domains applications to map a memory region as both executable and writable, this is dangerous and the executable should be reported in bugzilla β€” you must turn on the deny_execmem boolean. Disabled by default.
setsebool -P deny_execmem 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 all unconfined executables to use libraries requiring text relocation that are not labeled textrel_shlib_t, you must turn on the selinuxuser_execmod boolean. Disabled by default.
setsebool -P selinuxuser_execmod 1
seriously though β€” that deny_execmem one is no joke. dangerous is the actual word on the page. report that executable in bugzilla, bestie 😭

πŸ—‚οΈ MANAGED FILES πŸ—‚οΈ

The SELinux process type thumb_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 can't save you from plain old file permissions, sorry babe πŸ™ˆ)

  • cifs_t β€” that's it, no extra paths listed ✨
  • ecryptfs_t β€” with these default paths:
/home/[^/]+/.Private(/.*)?
/home/[^/]+/.ecryptfs(/.*)?
  • fusefs_t β€” with this default path:
/run/user/[0-9]+/gvfs
  • nfs_t β€” again, no paths listed, just the vibe πŸ’«

🏷️ FILE CONTEXTS 🏷️

SELinux requires files to have an extended attribute to define the file type. yes, the files have fits and the fit has a label πŸŽ€

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

πŸ“ STANDARD FILE CONTEXT πŸ“

SELinux defines the file context types for the thumb β€” 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 thumb_exec_t '/srv/thumb/content(/.*)?'
restorecon -R -v /srv/mythumb_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regexes, my beloved 🌈

The following file types are defined for thumb:

πŸ’œ thumb_exec_t

  • Set files with the thumb_exec_t type, if you want to transition an executable to the thumb_t domain.

Paths:

/usr/bin/[^/]*thumbnailer, /usr/bin/gnome-[^/]*-thumbnailer(.sh)?,
/usr/lib/tumbler-?[^/]*/tumblerd, /usr/bin/raw-thumbnailer,
/usr/bin/ffmpegthumbnailer, /usr/bin/whaaw-thumbnailer,
/usr/bin/evince-thumbnailer, /usr/bin/mate-thumbnail-font,
/usr/bin/gnome-thumbnail-font, /usr/bin/gsf-office-thumbnailer,
/usr/bin/totem-video-thumbnailer, /usr/bin/shotwell-video-
thumbnailer

🏠 thumb_home_t

  • Set files with the thumb_home_t type, if you want to store thumb files in the users home directory.

Paths:

/home/[^/]+/.thumbnails(/.*)?, /home/[^/]+/missfont.log.*,
/home/[^/]+/.cache/thumbnails(/.*)?,
/home/[^/]+/.local/share/thumbnails(/.*)?

🧹 thumb_tmp_t

  • Set files with the thumb_tmp_t type, if you want to store thumb temporary files in the /tmp directories.

πŸŒ€ thumb_tmpfs_t

  • Set files with the thumb_tmpfs_t type, if you want to store thumb files on a tmpfs file system.
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, choose wisely bestie πŸ’€

πŸ› οΈ 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 boolean can also be used to manipulate the booleans.
  • system-config-selinux is a GUI tool available to customize SELinux policy settings. (a GUI!! for the girlies who don't live in the terminal 24/7 πŸŽ€)

πŸ‘‘ AUTHOR πŸ‘‘

This manual page was auto-generated using sepolicy manpage. yes, a robot wrote it, and we gave it a whole personality anyway πŸ’…βœ¨


πŸ”— SEE ALSO πŸ”—

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

go read those next, bestie, the lore goes deep πŸ“šπŸ¦‹


and that's the whole page!! this was thumb from 26-10-06 πŸ’– mwah, go label some files, you're gonna slay 🫢

πŸ“¦ where this page comes from