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 file type.
24
25       The default entrypoint paths for the xdm_t domain are the following:
26
27       /usr/s?bin/nodm,        /usr/s?bin/gdm(3)?,        /usr/s?bin/lightdm*,
28       /usr/s?bin/[mxgkw]dm, /usr/s?bin/gdm-binary, /usr/s?bin/lxdm(-binary)?,
29       /usr/X11R6/bin/[xgkw]dm,   /usr/bin/razor-lightdm-.*,    /usr/bin/sddm,
30       /usr/bin/slim,  /usr/bin/gpe-dm,  /opt/kde3/bin/kdm,  /usr/sbin/mdm-bi‐
31       nary,        /usr/bin/sddm-greeter,        /etc/rc.d/init.d/x11-common,
32       /usr/libexec/gdm-disable-wayland
33

PROCESS TYPES

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

BOOLEANS

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

PORT TYPES

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

MANAGED FILES

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

FILE CONTEXTS

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

COMMANDS

570       semanage fcontext can also be used to manipulate default  file  context
571       mappings.
572
573       semanage  permissive  can  also  be used to manipulate whether or not a
574       process type is permissive.
575
576       semanage module can also be used to enable/disable/install/remove  pol‐
577       icy modules.
578
579       semanage port can also be used to manipulate the port definitions
580
581       semanage boolean can also be used to manipulate the booleans
582
583
584       system-config-selinux is a GUI tool available to customize SELinux pol‐
585       icy settings.
586
587

AUTHOR

589       This manual page was auto-generated using sepolicy manpage .
590
591

SEE ALSO

593       selinux(8), xdm(8), semanage(8), restorecon(8), chcon(1),  sepolicy(8),
594       setsebool(8), xdm_unconfined_selinux(8), xdm_unconfined_selinux(8)
595
596
597
598xdm                                21-06-09                     xdm_selinux(8)
Impressum