xdm_uncon...d_selinux(8)
π xdm_unconfined_selinux(8) β the manual, but make it make sense
okay so bestie, welcome to the SELinux Policy xdm_unconfined page β¨ this is the xdm_uncon...d_selinux(8) situation and it's genuinely just here to explain how the xdm_unconfined processes get locked down π
π NAME
xdm_unconfined_selinux β the Security Enhanced Linux Policy for the xdm_unconfined processes. yep, that's it, that's the whole name. iconic.
π¦ DESCRIPTION
Security-Enhanced Linux secures the xdm_unconfined processes via flexible mandatory access control. no cap, that's the whole vibe β SELinux is out here running mandatory access control and it's flexible about it π
The xdm_unconfined processes execute with the xdm_unconfined_t SELinux type. You can check if you have these processes running by executing the ps command with the -Z qualifier.
For example:
ps -eZ | grep xdm_unconfined_t
like literally just run that and see who's living in xdm_unconfined_t land π
πΈ ENTRYPOINTS
The xdm_unconfined_t SELinux type can be entered via the xdm_unconfined_exec_t file type.
The default entrypoint paths for the xdm_unconfined_t domain are the following:
/etc/[mg]dm/Init(/.*)?
/etc/[mg]dm/PostLogin(/.*)?
/etc/[mg]dm/PreSession(/.*)?
/etc/[mg]dm/PostSession(/.*)?
those are your four doors in, periodt πͺβ¨
π§ PROCESS TYPES
SELinux defines process types (domains) for each process running on the system
You can see the context of a process using the -Z option to ps
Policy governs the access confined processes have to files. SELinux xdm_unconfined policy is very flexible allowing users to setup their xdm_unconfined processes in as secure a method as possible.
The following process types are defined for xdm_unconfined:
xdm_unconfined_t
Note:semanage permissive -a xdm_unconfined_tcan be used to make the process typexdm_unconfined_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 anymore, but it will still tell on you in the logs π
β¨ BOOLEANS β¨
SELinux policy is customizable based on least access required. xdm_unconfined policy is extremely flexible and has several booleans that allow you to manipulate the policy and run xdm_unconfined with the tightest access possible.
okay so here's the booleans list, each one turns on with setsebool -P <name> 1 and they're all disabled by default β flag that π©
deny_execmemβ 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 thedeny_execmemboolean. Disabled by default.
setsebool -P deny_execmem 1
mmap_low_allowedβ If you want to control the ability tommapa low area of the address space, as configured by/proc/sys/vm/mmap_min_addr, you must turn on themmap_low_allowedboolean. Disabled by default.
setsebool -P mmap_low_allowed 1
secure_mode_insmodβ If you want to disable kernel module loading, you must turn on thesecure_mode_insmodboolean. Disabled by default.
setsebool -P secure_mode_insmod 1
selinuxuser_execheapβ If you want to allow unconfined executables to make their heap memory executable. Doing this is a really bad idea. Probably indicates a badly coded executable, but could indicate an attack. This executable should be reported in bugzilla, you must turn on theselinuxuser_execheapboolean. Disabled by default.
setsebool -P selinuxuser_execheap 1
selinuxuser_execstackβ If you want to allow unconfined executables to make their stack executable. This should never, ever be necessary. Probably indicates a badly coded executable, but could indicate an attack. This executable should be reported in bugzilla, you must turn on theselinuxuser_execstackboolean. Disabled by default.
setsebool -P selinuxuser_execstack 1
like bestie please read those warnings, they are NOT decorative π
π MANAGED FILES
The SELinux process type xdm_unconfined_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.
file_typeβ all files on the system π
yes. all files on the system. that's the whole list. no notes.
π FILE CONTEXTS
SELinux requires files to have an extended attribute to define the file type.
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 xdm_unconfined policy is very flexible allowing users to setup their xdm_unconfined processes in as secure a method as possible.
π STANDARD FILE CONTEXT
SELinux defines the file context types for the xdm_unconfined, 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 xdm_unconfined_exec_t '/srv/xdm_unconfined/content(/.*)?'
restorecon -R -v /srv/myxdm_unconfined_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex my beloved π«Ά
The following file types are defined for xdm_unconfined:
xdm_unconfined_exec_t
- Set files with the
xdm_unconfined_exec_ttype, if you want to transition an executable to thexdm_unconfined_tdomain.
Paths:
/etc/[mg]dm/Init(/.*)?
/etc/[mg]dm/PostLogin(/.*)?
/etc/[mg]dm/PreSession(/.*)?
/etc/[mg]dm/PostSession(/.*)?
Note: File context can be temporarily modified with thechconcommand. If you want to permanently change the file context you need to use thesemanage fcontextcommand. This will modify the SELinux labeling database. You will need to userestoreconto apply the labels. temporary vs permanent, know the difference bestie π
β 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 booleanssystem-config-selinuxis a GUI tool available to customize SELinux policy settings. ooh, a GUI, fancy π
π AUTHOR
This manual page was auto-generated using sepolicy manpage .
(robot-written, human-approved β¨)
π₯ SEE ALSO
selinux(8), xdm_unconfined(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
go read those too, iykyk ππ
that's the page!! this one came from the xdm_unconfined manual, dated 26-10-06 β mwah, stay labeled correctly out there π¦ππ
π¦ 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