chroot_user_selinux(8)
π chroot_user_selinux(8) β the manual page, but make it make sense β¨
okay bestie, so this is the chroot_user_selinux(8) manual page, and it's literally all about the SELinux Policy for chroot_user. yes, the whole vibe is "how do we keep these processes contained and cute but also safe." let's get into it π«Ά
β¨ NAME β¨
chroot_user_selinux β Security Enhanced Linux Policy for the chroot_user processes. that's the whole name situation, no cap π
πΈ DESCRIPTION πΈ
Security-Enhanced Linux secures the chroot_user processes via flexible mandatory access control. it's giving "boundaries but make it security architecture" π₯
The chroot_user processes execute with the chroot_user_t SELinux type. you can check if you have these processes running by executing the ps command with the -Z qualifier. like, literally just peek at who's matching the vibe check.
for example:
ps -eZ | grep chroot_user_t
that's it. that's the whole detective work π΅οΈββοΈ
π¦ PROCESS TYPES π¦
SELinux defines process types (domains) for each process running on the system. yes, every process gets its own little identity, main character energy for everyone, honestly π
you can see the context of a process using the -Z option to ps. it's right there in the flag, bestie.
policy governs the access confined processes have to files. the SELinux chroot_user policy is very flexible, allowing users to setup their chroot_user processes in as secure a method as possible. flexible and secure? we love a both/and situation π
the following process types are defined for chroot_user:
chroot_user_tβ the one and only process type in this lineup. iconic, honestly π
note:semanage permissive -a chroot_user_tcan be used to make the process typechroot_user_tpermissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it won't block anything, but it will still be in the group chat reporting what happened π
π BOOLEANS π
SELinux policy is customizable based on least access required. the chroot_user policy is extremely flexible and has several booleans that allow you to manipulate the policy and run chroot_user with the tightest access possible. it's giving "you can adjust the settings, just don't be messy about it" β¨
if you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. enabled by default. slay, it's already on:
setsebool -P fips_mode 1
if you want to allow ssh with chroot env to read and write files in the user home directories, you must turn on the ssh_chroot_rw_homedirs boolean. disabled by default. so yeah, you gotta flip this one yourself:
setsebool -P ssh_chroot_rw_homedirs 1
if you want to support fusefs home directories, you must turn on the use_fusefs_home_dirs boolean. disabled by default. another one you gotta turn on manually:
setsebool -P use_fusefs_home_dirs 1
if you want to support NFS home directories, you must turn on the use_nfs_home_dirs boolean. enabled by default. this one's already living its best life:
setsebool -P use_nfs_home_dirs 1
if you want to support SAMBA home directories, you must turn on the use_samba_home_dirs boolean. disabled by default. turn it on if that's your setup:
setsebool -P use_samba_home_dirs 1
π§ MANAGED FILES π§
the SELinux process type chroot_user_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 out here overriding your regular file permissions, bestie β both checks gotta pass π«Ά
cifs_tβ no default paths listed for this one, it's a mystery on purpose i guess π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 default paths listed here. it's giving "figure it out" π
π 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. yes, a whole GUI, for when the terminal vibes are not it today π
π AUTHOR π
this manual page was auto-generated using sepolicy manpage. the robots wrote it, i just made it cute π
β SEE ALSO β
selinux(8), chroot_user(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
those are the related pages, go read them if you're obsessed with this topic (and honestly, same) π¦
and that's the whole page, bestie! source/version situation: chroot_user, dated 26-10-06, part of the chroot_user_selinux(8) manual. mwah, go forth and be secure πβ¨
π¦ 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