1xdm_selinux(8)                SELinux Policy xdm                xdm_selinux(8)
2
3
4

NAME

6       xdm_selinux - Security Enhanced Linux Policy for the xdm processes
7

DESCRIPTION

9       Security-Enhanced  Linux  secures the xdm processes via flexible manda‐
10       tory access control.
11
12       The xdm processes execute with the xdm_t SELinux type. You can check if
13       you  have  these processes running by executing the ps command with the
14       -Z qualifier.
15
16       For example:
17
18       ps -eZ | grep xdm_t
19
20
21

ENTRYPOINTS

23       The xdm_t SELinux type can be entered via  the  xdm_exec_t,  user_tmp_t
24       file types.
25
26       The default entrypoint paths for the xdm_t domain are the following:
27
28       /usr/s?bin/nodm,        /usr/s?bin/gdm(3)?,        /usr/s?bin/lightdm*,
29       /usr/s?bin/[mxgkw]dm, /usr/s?bin/gdm-binary, /usr/s?bin/lxdm(-binary)?,
30       /usr/X11R6/bin/[xgkw]dm,    /usr/bin/razor-lightdm-.*,   /usr/bin/sddm,
31       /usr/bin/slim,  /usr/bin/gpe-dm,  /opt/kde3/bin/kdm,  /usr/sbin/mdm-bi‐
32       nary,        /usr/bin/sddm-greeter,        /etc/rc.d/init.d/x11-common,
33       /usr/libexec/gdm-runtime-config,      /usr/libexec/gdm-disable-wayland,
34       /dev/shm/mono.*,       /var/run/user/[^/]+,       /tmp/.ICE-unix(/.*)?,
35       /tmp/.X11-unix(/.*)?,       /dev/shm/pulse-shm.*,        /tmp/.X0-lock,
36       /var/run/user,      /tmp/hsperfdata_root,     /var/tmp/hsperfdata_root,
37       /home/[^/]+/tmp,        /home/[^/]+/.tmp,         /var/run/user/[0-9]+,
38       /tmp/gconfd-[^/]+
39

PROCESS TYPES

41       SELinux defines process types (domains) for each process running on the
42       system
43
44       You can see the context of a process using the -Z option to ps
45
46       Policy governs the access confined processes have  to  files.   SELinux
47       xdm policy is very flexible allowing users to setup their xdm processes
48       in as secure a method as possible.
49
50       The following process types are defined for xdm:
51
52       xdm_t, xdm_unconfined_t
53
54       Note: semanage permissive -a xdm_t can be used to make the process type
55       xdm_t  permissive.  SELinux  does not deny access to permissive process
56       types, but the AVC (SELinux denials) messages are still generated.
57
58

BOOLEANS

60       SELinux policy is customizable based on  least  access  required.   xdm
61       policy is extremely flexible and has several booleans that allow you to
62       manipulate the policy and run xdm with the tightest access possible.
63
64
65
66       If you want to allows xdm_t to bind on vnc_port_t(5910), you must  turn
67       on the xdm_bind_vnc_tcp_port boolean. Disabled by default.
68
69       setsebool -P xdm_bind_vnc_tcp_port 1
70
71
72
73       If  you  want  to  allow  the  graphical login program to create, read,
74       write, and delete files in the /boot director and DOS  filesystem,  you
75       must turn on the xdm_manage_bootloader boolean. Enabled by default.
76
77       setsebool -P xdm_manage_bootloader 1
78
79
80
81       If  you  want to allow the graphical login program to login directly as
82       sysadm_r:sysadm_t, you must turn on the xdm_sysadm_login boolean.  Dis‐
83       abled by default.
84
85       setsebool -P xdm_sysadm_login 1
86
87
88
89       If you want to deny user domains applications to map a memory region as
90       both executable and writable, this  is  dangerous  and  the  executable
91       should be reported in bugzilla, you must turn on the deny_execmem bool‐
92       ean. Enabled by default.
93
94       setsebool -P deny_execmem 1
95
96
97
98       If you want to deny any process from ptracing or  debugging  any  other
99       processes,  you  must  turn  on the deny_ptrace boolean. Enabled by de‐
100       fault.
101
102       setsebool -P deny_ptrace 1
103
104
105
106       If you want to allow all domains to execute in fips_mode, you must turn
107       on the fips_mode boolean. Enabled by default.
108
109       setsebool -P fips_mode 1
110
111
112
113       If  you  want  to allow confined applications to run with kerberos, you
114       must turn on the kerberos_enabled boolean. Enabled by default.
115
116       setsebool -P kerberos_enabled 1
117
118
119
120       If you want to allow system to run with  NIS,  you  must  turn  on  the
121       nis_enabled boolean. Disabled by default.
122
123       setsebool -P nis_enabled 1
124
125
126
127       If you want to enable polyinstantiated directory support, you must turn
128       on the polyinstantiation_enabled boolean. Disabled by default.
129
130       setsebool -P polyinstantiation_enabled 1
131
132
133
134       If you want to allow unconfined executables to make  their  stack  exe‐
135       cutable.   This  should  never, ever be necessary. Probably indicates a
136       badly coded executable, but could indicate an attack.  This  executable
137       should  be reported in bugzilla, you must turn on the selinuxuser_exec‐
138       stack boolean. Enabled by default.
139
140       setsebool -P selinuxuser_execstack 1
141
142
143
144       If you want to support ecryptfs home directories, you must turn on  the
145       use_ecryptfs_home_dirs boolean. Disabled by default.
146
147       setsebool -P use_ecryptfs_home_dirs 1
148
149
150
151       If  you  want  to support fusefs home directories, you must turn on the
152       use_fusefs_home_dirs boolean. Disabled by default.
153
154       setsebool -P use_fusefs_home_dirs 1
155
156
157
158       If you want to support NFS home  directories,  you  must  turn  on  the
159       use_nfs_home_dirs boolean. Disabled by default.
160
161       setsebool -P use_nfs_home_dirs 1
162
163
164
165       If  you  want  to  support SAMBA home directories, you must turn on the
166       use_samba_home_dirs boolean. Disabled by default.
167
168       setsebool -P use_samba_home_dirs 1
169
170
171

PORT TYPES

173       SELinux defines port types to represent TCP and UDP ports.
174
175       You can see the types associated with a port  by  using  the  following
176       command:
177
178       semanage port -l
179
180
181       Policy  governs  the  access  confined  processes  have to these ports.
182       SELinux xdm policy is very flexible allowing users to setup  their  xdm
183       processes in as secure a method as possible.
184
185       The following port types are defined for xdm:
186
187
188       xdmcp_port_t
189
190
191
192       Default Defined Ports:
193                 tcp 177
194                 udp 177
195

MANAGED FILES

197       The  SELinux  process type xdm_t can manage files labeled with the fol‐
198       lowing file types.  The paths listed are the default  paths  for  these
199       file types.  Note the processes UID still need to have DAC permissions.
200
201       auth_cache_t
202
203            /var/cache/coolkey(/.*)?
204
205       auth_home_t
206
207            /root/.yubico(/.*)?
208            /root/.config/Yubico(/.*)?
209            /root/.google_authenticator
210            /root/.google_authenticator~
211            /home/[^/]+/.yubico(/.*)?
212            /home/[^/]+/.config/Yubico(/.*)?
213            /home/[^/]+/.google_authenticator
214            /home/[^/]+/.google_authenticator~
215
216       cifs_t
217
218
219       dosfs_t
220
221
222       faillog_t
223
224            /var/log/btmp.*
225            /var/log/faillog.*
226            /var/log/tallylog.*
227            /var/run/faillock(/.*)?
228
229       fusefs_t
230
231            /var/run/user/[0-9]+/gvfs
232
233       initrc_var_run_t
234
235            /var/run/utmp
236            /var/run/random-seed
237            /var/run/runlevel.dir
238            /var/run/setmixer_flag
239
240       krb5_host_rcache_t
241
242            /var/tmp/krb5_0.rcache2
243            /var/cache/krb5rcache(/.*)?
244            /var/tmp/nfs_0
245            /var/tmp/DNS_25
246            /var/tmp/host_0
247            /var/tmp/imap_0
248            /var/tmp/HTTP_23
249            /var/tmp/HTTP_48
250            /var/tmp/ldap_55
251            /var/tmp/ldap_487
252            /var/tmp/ldapmap1_0
253
254       lastlog_t
255
256            /var/log/lastlog.*
257
258       nfs_t
259
260
261       pam_var_console_t
262
263            /var/run/console(/.*)?
264
265       pam_var_run_t
266
267            /var/(db|adm)/sudo(/.*)?
268            /var/lib/sudo(/.*)?
269            /var/run/sudo(/.*)?
270            /var/run/pam_ssh(/.*)?
271            /var/run/sepermit(/.*)?
272            /var/run/pam_mount(/.*)?
273            /var/run/pam_timestamp(/.*)?
274
275       security_t
276
277            /selinux
278
279       sysfs_t
280
281            /sys(/.*)?
282
283       systemd_passwd_var_run_t
284
285            /var/run/systemd/ask-password(/.*)?
286            /var/run/systemd/ask-password-block(/.*)?
287
288       user_tmp_t
289
290            /dev/shm/mono.*
291            /var/run/user/[^/]+
292            /tmp/.ICE-unix(/.*)?
293            /tmp/.X11-unix(/.*)?
294            /dev/shm/pulse-shm.*
295            /tmp/.X0-lock
296            /var/run/user
297            /tmp/hsperfdata_root
298            /var/tmp/hsperfdata_root
299            /home/[^/]+/tmp
300            /home/[^/]+/.tmp
301            /var/run/user/[0-9]+
302            /tmp/gconfd-[^/]+
303
304       user_tmp_type
305
306            all user tmp files
307
308       var_auth_t
309
310            /var/ace(/.*)?
311            /var/rsa(/.*)?
312            /var/lib/abl(/.*)?
313            /var/lib/rsa(/.*)?
314            /var/lib/pam_ssh(/.*)?
315            /var/lib/pam_shield(/.*)?
316            /var/opt/quest/vas/vasd(/.*)?
317            /var/lib/google-authenticator(/.*)?
318
319       wtmp_t
320
321            /var/log/wtmp.*
322
323       xdm_lock_t
324
325
326       xdm_log_t
327
328            /var/log/[mkwx]dm.log.*
329            /var/log/mdm(/.*)?
330            /var/log/lxdm.log.*
331            /var/log/slim.log.*
332
333       xdm_spool_t
334
335            /var/spool/[mg]dm(/.*)?
336
337       xdm_tmpfs_t
338
339
340       xdm_var_lib_t
341
342            /var/lib/[mxkwg]dm(/.*)?
343            /var/cache/[mg]dm(/.*)?
344            /var/lib/gdm(3)?(/.*)?
345            /var/lib/lxdm(/.*)?
346            /var/lib/sddm(/.*)?
347            /var/lib/lightdm(/.*)?
348            /var/cache/lightdm(/.*)?
349            /var/lib/lightdm-data(/.*)?
350
351       xdm_var_run_t
352
353            /etc/kde[34]?/kdm/backgroundrc
354            /var/run/[kgm]dm(/.*)?
355            /var/run/gdm(3)?.pid
356            /var/run/gdm(3)?(/.*)?
357            /usr/lib/qt-.*/etc/settings(/.*)?
358            /var/run/slim.*
359            /var/run/lxdm(/.*)?
360            /var/run/sddm(/.*)?
361            /var/run/xauth(/.*)?
362            /var/run/xdmctl(/.*)?
363            /var/run/lightdm(/.*)?
364            /var/run/systemd/multi-session-x(/.*)?
365            /var/run/xdm.pid
366            /var/run/lxdm.pid
367            /var/run/lxdm.auth
368            /var/run/gdm_socket
369
370       xkb_var_lib_t
371
372            /var/lib/xkb(/.*)?
373            /usr/X11R6/lib/X11/xkb/.*
374            /usr/X11R6/lib/X11/xkb
375
376       xserver_log_t
377
378            /var/[xgkw]dm(/.*)?
379            /usr/var/[xgkw]dm(/.*)?
380            /var/log/gdm(3)?(/.*)?
381            /var/log/Xorg.*
382            /var/log/XFree86.*
383            /var/log/lightdm(/.*)?
384            /var/log/nvidia-installer.log.*
385
386       xserver_tmpfs_t
387
388
389

FILE CONTEXTS

391       SELinux requires files to have an extended attribute to define the file
392       type.
393
394       You can see the context of a file using the -Z option to ls
395
396       Policy governs the access  confined  processes  have  to  these  files.
397       SELinux  xdm  policy is very flexible allowing users to setup their xdm
398       processes in as secure a method as possible.
399
400       EQUIVALENCE DIRECTORIES
401
402
403       xdm policy stores data with multiple different file context types under
404       the /var/lib/lightdm directory.  If you would like to store the data in
405       a different directory you can use the semanage  command  to  create  an
406       equivalence  mapping.   If you wanted to store this data under the /srv
407       directory you would execute the following command:
408
409       semanage fcontext -a -e /var/lib/lightdm /srv/lightdm
410       restorecon -R -v /srv/lightdm
411
412       xdm policy stores data with multiple different file context types under
413       the /var/run/gdm(3)? directory.  If you would like to store the data in
414       a different directory you can use the semanage  command  to  create  an
415       equivalence  mapping.   If you wanted to store this data under the /srv
416       directory you would execute the following command:
417
418       semanage fcontext -a -e /var/run/gdm(3)? /srv/gdm(3)?
419       restorecon -R -v /srv/gdm(3)?
420
421       xdm policy stores data with multiple different file context types under
422       the  /var/run/lxdm directory.  If you would like to store the data in a
423       different directory you can use  the  semanage  command  to  create  an
424       equivalence  mapping.   If you wanted to store this data under the /srv
425       directory you would execute the following command:
426
427       semanage fcontext -a -e /var/run/lxdm /srv/lxdm
428       restorecon -R -v /srv/lxdm
429
430       STANDARD FILE CONTEXT
431
432       SELinux defines the file context types for the xdm, if  you  wanted  to
433       store  files  with  these types in a diffent paths, you need to execute
434       the semanage command to specify alternate labeling  and  then  use  re‐
435       storecon to put the labels on disk.
436
437       semanage fcontext -a -t xdm_log_t '/srv/myxdm_content(/.*)?'
438       restorecon -R -v /srv/myxdm_content
439
440       Note:  SELinux  often  uses  regular expressions to specify labels that
441       match multiple files.
442
443       The following file types are defined for xdm:
444
445
446
447       xdm_etc_t
448
449       - Set files with the xdm_etc_t type, if you want to store xdm files  in
450       the /etc directories.
451
452
453
454       xdm_exec_t
455
456       - Set files with the xdm_exec_t type, if you want to transition an exe‐
457       cutable to the xdm_t domain.
458
459
460       Paths:
461            /usr/s?bin/nodm,     /usr/s?bin/gdm(3)?,      /usr/s?bin/lightdm*,
462            /usr/s?bin/[mxgkw]dm,  /usr/s?bin/gdm-binary, /usr/s?bin/lxdm(-bi‐
463            nary)?,    /usr/X11R6/bin/[xgkw]dm,     /usr/bin/razor-lightdm-.*,
464            /usr/bin/sddm,  /usr/bin/slim, /usr/bin/gpe-dm, /opt/kde3/bin/kdm,
465            /usr/sbin/mdm-binary,                       /usr/bin/sddm-greeter,
466            /etc/rc.d/init.d/x11-common,      /usr/libexec/gdm-runtime-config,
467            /usr/libexec/gdm-disable-wayland
468
469
470       xdm_home_t
471
472       - Set files with the xdm_home_t type, if you want to store xdm files in
473       the users home directory.
474
475
476       Paths:
477            /root/.dmrc.*,  /root/.wayland-errors.*, /root/.xsession-errors.*,
478            /home/[^/]+/.dmrc.*,                 /home/[^/]+/.cache/gdm(/.*)?,
479            /home/[^/]+/.wayland-errors.*,     /home/[^/]+/.xsession-errors.*,
480            /home/[^/]+/.local/share/xorg(/.*)?
481
482
483       xdm_lock_t
484
485       - Set files with the xdm_lock_t type, if you want to treat the files as
486       xdm lock data, stored under the /var/lock directory
487
488
489
490       xdm_log_t
491
492       -  Set  files with the xdm_log_t type, if you want to treat the data as
493       xdm log data, usually stored under the /var/log directory.
494
495
496       Paths:
497            /var/log/[mkwx]dm.log.*, /var/log/mdm(/.*)?,  /var/log/lxdm.log.*,
498            /var/log/slim.log.*
499
500
501       xdm_rw_etc_t
502
503       -  Set  files  with  the xdm_rw_etc_t type, if you want to store xdm rw
504       files in the /etc directories.
505
506
507       Paths:
508            /etc/X11/wdm(/.*)?, /etc/opt/VirtualGL(/.*)?
509
510
511       xdm_spool_t
512
513       - Set files with the xdm_spool_t type, if you want  to  store  the  xdm
514       files under the /var/spool directory.
515
516
517
518       xdm_tmpfs_t
519
520       -  Set  files with the xdm_tmpfs_t type, if you want to store xdm files
521       on a tmpfs file system.
522
523
524
525       xdm_unconfined_exec_t
526
527       - Set files with the xdm_unconfined_exec_t type, if you want to transi‐
528       tion an executable to the xdm_unconfined_t domain.
529
530
531       Paths:
532            /etc/[mg]dm/Init(/.*)?,               /etc/[mg]dm/PostLogin(/.*)?,
533            /etc/[mg]dm/PreSession(/.*)?, /etc/[mg]dm/PostSession(/.*)?
534
535
536       xdm_unit_file_t
537
538       - Set files with the xdm_unit_file_t type, if you  want  to  treat  the
539       files as xdm unit content.
540
541
542
543       xdm_var_lib_t
544
545       -  Set  files with the xdm_var_lib_t type, if you want to store the xdm
546       files under the /var/lib directory.
547
548
549       Paths:
550            /var/lib/[mxkwg]dm(/.*)?,                 /var/cache/[mg]dm(/.*)?,
551            /var/lib/gdm(3)?(/.*)?,  /var/lib/lxdm(/.*)?, /var/lib/sddm(/.*)?,
552            /var/lib/lightdm(/.*)?,                  /var/cache/lightdm(/.*)?,
553            /var/lib/lightdm-data(/.*)?
554
555
556       xdm_var_run_t
557
558       -  Set  files with the xdm_var_run_t type, if you want to store the xdm
559       files under the /run or /var/run directory.
560
561
562       Paths:
563            /etc/kde[34]?/kdm/backgroundrc,            /var/run/[kgm]dm(/.*)?,
564            /var/run/gdm(3)?.pid,                      /var/run/gdm(3)?(/.*)?,
565            /usr/lib/qt-.*/etc/settings(/.*)?,                /var/run/slim.*,
566            /var/run/lxdm(/.*)?,   /var/run/sddm(/.*)?,  /var/run/xauth(/.*)?,
567            /var/run/xdmctl(/.*)?,    /var/run/lightdm(/.*)?,    /var/run/sys‐
568            temd/multi-session-x(/.*)?,  /var/run/xdm.pid,  /var/run/lxdm.pid,
569            /var/run/lxdm.auth, /var/run/gdm_socket
570
571
572       Note: File context can be temporarily modified with the chcon  command.
573       If  you want to permanently change the file context you need to use the
574       semanage fcontext command.  This will modify the SELinux labeling data‐
575       base.  You will need to use restorecon to apply the labels.
576
577

COMMANDS

579       semanage  fcontext  can also be used to manipulate default file context
580       mappings.
581
582       semanage permissive can also be used to manipulate  whether  or  not  a
583       process type is permissive.
584
585       semanage  module can also be used to enable/disable/install/remove pol‐
586       icy modules.
587
588       semanage port can also be used to manipulate the port definitions
589
590       semanage boolean can also be used to manipulate the booleans
591
592
593       system-config-selinux is a GUI tool available to customize SELinux pol‐
594       icy settings.
595
596

AUTHOR

598       This manual page was auto-generated using sepolicy manpage .
599
600

SEE ALSO

602       selinux(8),  xdm(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
603       setsebool(8), xdm_unconfined_selinux(8), xdm_unconfined_selinux(8)
604
605
606
607xdm                                23-02-03                     xdm_selinux(8)
Impressum