1xdm_selinux(8) SELinux Policy xdm xdm_selinux(8)
2
3
4
6 xdm_selinux - Security Enhanced Linux Policy for the xdm processes
7
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
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-runtime-config, /usr/libexec/gdm-disable-wayland
33
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
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
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
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
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 specify 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-runtime-config,
459 /usr/libexec/gdm-disable-wayland
460
461
462 xdm_home_t
463
464 - Set files with the xdm_home_t type, if you want to store xdm files in
465 the users home directory.
466
467
468 Paths:
469 /root/.dmrc.*, /root/.wayland-errors.*, /root/.xsession-errors.*,
470 /home/[^/]+/.dmrc.*, /home/[^/]+/.cache/gdm(/.*)?,
471 /home/[^/]+/.wayland-errors.*, /home/[^/]+/.xsession-errors.*,
472 /home/[^/]+/.local/share/xorg(/.*)?
473
474
475 xdm_lock_t
476
477 - Set files with the xdm_lock_t type, if you want to treat the files as
478 xdm lock data, stored under the /var/lock directory
479
480
481
482 xdm_log_t
483
484 - Set files with the xdm_log_t type, if you want to treat the data as
485 xdm log data, usually stored under the /var/log directory.
486
487
488 Paths:
489 /var/log/[mkwx]dm.log.*, /var/log/mdm(/.*)?, /var/log/lxdm.log.*,
490 /var/log/slim.log.*
491
492
493 xdm_rw_etc_t
494
495 - Set files with the xdm_rw_etc_t type, if you want to store xdm rw
496 files in the /etc directories.
497
498
499 Paths:
500 /etc/X11/wdm(/.*)?, /etc/opt/VirtualGL(/.*)?
501
502
503 xdm_spool_t
504
505 - Set files with the xdm_spool_t type, if you want to store the xdm
506 files under the /var/spool directory.
507
508
509
510 xdm_tmpfs_t
511
512 - Set files with the xdm_tmpfs_t type, if you want to store xdm files
513 on a tmpfs file system.
514
515
516
517 xdm_unconfined_exec_t
518
519 - Set files with the xdm_unconfined_exec_t type, if you want to transi‐
520 tion an executable to the xdm_unconfined_t domain.
521
522
523 Paths:
524 /etc/[mg]dm/Init(/.*)?, /etc/[mg]dm/PostLogin(/.*)?,
525 /etc/[mg]dm/PreSession(/.*)?, /etc/[mg]dm/PostSession(/.*)?
526
527
528 xdm_unit_file_t
529
530 - Set files with the xdm_unit_file_t type, if you want to treat the
531 files as xdm unit content.
532
533
534
535 xdm_var_lib_t
536
537 - Set files with the xdm_var_lib_t type, if you want to store the xdm
538 files under the /var/lib directory.
539
540
541 Paths:
542 /var/lib/[mxkwg]dm(/.*)?, /var/cache/[mg]dm(/.*)?,
543 /var/lib/gdm(3)?(/.*)?, /var/lib/lxdm(/.*)?, /var/lib/sddm(/.*)?,
544 /var/lib/lightdm(/.*)?, /var/cache/lightdm(/.*)?,
545 /var/lib/lightdm-data(/.*)?
546
547
548 xdm_var_run_t
549
550 - Set files with the xdm_var_run_t type, if you want to store the xdm
551 files under the /run or /var/run directory.
552
553
554 Paths:
555 /etc/kde[34]?/kdm/backgroundrc, /var/run/[kgm]dm(/.*)?,
556 /var/run/gdm(3)?.pid, /var/run/gdm(3)?(/.*)?,
557 /usr/lib/qt-.*/etc/settings(/.*)?, /var/run/slim.*,
558 /var/run/lxdm(/.*)?, /var/run/sddm(/.*)?, /var/run/xauth(/.*)?,
559 /var/run/xdmctl(/.*)?, /var/run/lightdm(/.*)?, /var/run/sys‐
560 temd/multi-session-x(/.*)?, /var/run/xdm.pid, /var/run/lxdm.pid,
561 /var/run/lxdm.auth, /var/run/gdm_socket
562
563
564 Note: File context can be temporarily modified with the chcon command.
565 If you want to permanently change the file context you need to use the
566 semanage fcontext command. This will modify the SELinux labeling data‐
567 base. You will need to use restorecon to apply the labels.
568
569
571 semanage fcontext can also be used to manipulate default file context
572 mappings.
573
574 semanage permissive can also be used to manipulate whether or not a
575 process type is permissive.
576
577 semanage module can also be used to enable/disable/install/remove pol‐
578 icy modules.
579
580 semanage port can also be used to manipulate the port definitions
581
582 semanage boolean can also be used to manipulate the booleans
583
584
585 system-config-selinux is a GUI tool available to customize SELinux pol‐
586 icy settings.
587
588
590 This manual page was auto-generated using sepolicy manpage .
591
592
594 selinux(8), xdm(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
595 setsebool(8), xdm_unconfined_selinux(8), xdm_unconfined_selinux(8)
596
597
598
599xdm 21-11-19 xdm_selinux(8)