guest_selinux(8)
okay so bestie, you're reading the guest_selinux(8) page β officially the guest SELinux Policy documentation β and it's all about the least privileged terminal user role. no cap, let's get into it. π
β¨
πΈ NAME πΈ
guest_u β Least privileged terminal user role. β Security Enhanced Linux Policy
π DESCRIPTION π
So guest_u is an SELinux User defined in the SELinux policy. SELinux users get default roles, and for this one that's guest_r. That default role has a default type, guest_t, attached to it.
Usually the SELinux user logs in with a context that looks like this:
guest_u:guest_r:guest_t:s0
Linux users get assigned an SELinux user automatically at login. Login programs use that SELinux user to give the user's shell its initial context. Then SELinux policy uses the context to control the user's access. iconic behavior, honestly.
By default, all users are assigned to the SELinux user via the __default__ flag.
On Targeted policy systems, the __default__ user is assigned to the unconfined_u SELinux user.
You can list all Linux User to SELinux user mapping with:
semanage login -l
If you wanted to change the default user mapping to use the guest_u user, you would run:
semanage login -m -s guest_u __default__
If you want to map the one Linux user (joe) to the SELinux user guest, you would run:
$ semanage login -a -s guest_u joe
π«Ά USER DESCRIPTION π«Ά
The SELinux user guest_u is defined in policy as an unprivileged user. SELinux prevents unprivileged users from doing administration tasks without transitioning to a different role. that's the whole point, bestie β no sneaky admin energy. π
π³ SUDO π³
This heading is here in the original, bestie β there are no extra SUDO deets under it. the next heading has the actual tea.
πͺ X WINDOWS LOGIN πͺ
The SELinux user guest_u is not able to X Windows login. nope, not the move. π
π NETWORK π
Here's the port vibe check, exactly as listed:
- The SELinux user
guest_uis able to listen on the following tcp ports:1716 - The SELinux user
guest_uis able to connect to the following tcp ports:9080,88,750,4444 - The SELinux user
guest_uis able to listen on the following udp ports:5353,1716 - The SELinux user
guest_uis able to connect to the following tcp ports:9080,88,750,4444β yes, tcp again in the original, so we're keeping it exact, bestie π«‘
π₯ BOOLEANS π₯
SELinux policy is customizable based on least access required. The guest policy is extremely flexible and has several booleans that let you manipulate the policy and run guest with the tightest access possible. lock it down, slay. π
deny_bluetoothβ if you want to deny all system processes and Linux users to use bluetooth wireless technology, turn this on. Disabled by default. Runsetsebool -P deny_bluetooth 1.deny_execmemβ if you want to deny user domains applications to map a memory region as both executable and writable, turn this on. This is dangerous, and the executable should be reported in bugzilla. Disabled by default. Runsetsebool -P deny_execmem 1.fips_modeβ if you want to allow all domains to execute infips_mode, turn this on. Enabled by default. Runsetsebool -P fips_mode 1.httpd_enable_cgiβ if you want to allow httpd cgi support, turn this on. Enabled by default. Runsetsebool -P httpd_enable_cgi 1.httpd_unifiedβ if you want to unify HTTPD handling of all content files, turn this on. Disabled by default. Runsetsebool -P httpd_unified 1.kerberos_enabledβ if you want to allow confined applications to run with kerberos, turn this on. Enabled by default. Runsetsebool -P kerberos_enabled 1.selinuxuser_execstackβ if you want to allow unconfined executables to make their stack executable, turn this on. Disabled by default. Runsetsebool -P selinuxuser_execstack 1.
okay so this should never, ever be necessary. It probably means a badly coded executable, but it could mean an attack. That executable should be reported in bugzilla. fr fr, be careful. π
selinuxuser_use_ssh_chrootβ if you want to allow user to use ssh chroot environment, turn this on. Disabled by default. Runsetsebool -P selinuxuser_use_ssh_chroot 1.use_nfs_home_dirsβ if you want to support NFS home directories, turn this on. Enabled by default. Runsetsebool -P use_nfs_home_dirs 1.use_samba_home_dirsβ if you want to support SAMBA home directories, turn this on. Disabled by default. Runsetsebool -P use_samba_home_dirs 1.
π HOME_EXEC π
The SELinux user guest_u can execute home content files. cute, but stay in your lane. π
π¦ TRANSITIONS π¦
Three things can happen when guest_t attempts to execute a program:
- SELinux Policy can deny
guest_tfrom executing the program. - SELinux Policy can allow
guest_tto execute the program in the current user type.
Execute the following to see the types that the SELinux user guest_t can execute without transitioning:
sesearch -A -s guest_t -c file -p execute_no_trans
- SELinux can allow
guest_tto execute the program and transition to a new type.
Execute the following to see the types that the SELinux user guest_t can execute and transition:
$ sesearch -A -s guest_t -c process -p transition
π MANAGED FILES π
The SELinux process type guest_t can manage files labeled with the following file types. The paths listed are the default paths for these file types. Also remember: the process's UID still needs to have DAC permissions. iykyk. π
alsa_home_tβ/home/[^/]+/.asoundrcauth_cache_tβ/var/cache/coolkey(/.*)?cifs_thttpd_user_content_tβ/home/[^/]+/((www)|(web)|(public_html))(/.+)?httpd_user_htaccess_tβ/home/[^/]+/((www)|(web)|(public_html))(/.*)?/.htaccesshttpd_user_ra_content_tβ/home/[^/]+/((www)|(web)|(public_html))(/.*)?/logs(/.*)?httpd_user_rw_content_thttpd_user_script_exec_tβ/home/[^/]+/((www)|(web)|(public_html))/cgi-bin(/.+)?nfs_tuser_home_typeβall user home filesuser_tmp_typeβall user tmp files
π οΈ COMMANDS π οΈ
semanage fcontextcan also be used to manipulate default file context mappings.semanage permissivecan also be used to manipulate whether or not a process type is permissive.semanage modulecan also be used to enable/disable/install/remove policy modules.semanage booleancan also be used to manipulate the booleans.system-config-selinuxis a GUI tool available to customize SELinux policy settings.
βοΈ AUTHOR βοΈ
This manual page was auto-generated using sepolicy manpage .
π SEE ALSO π
selinux(8), guest(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
xoxo π β footer sign-off: mgrepl@redhat.com, guest, guest_selinux(8). that's the source/version tea, and there's no date on this footer, bestie. periodt. π
π¦ 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