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-
31 binary, /usr/bin/sddm-greeter, /etc/rc.d/init.d/x11-common,
32 /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
94 default.
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. Disabled 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. Disabled 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. Enabled 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 anon_inodefs_t
196
197
198 auth_cache_t
199
200 /var/cache/coolkey(/.*)?
201
202 auth_home_t
203
204 /root/.yubico(/.*)?
205 /root/.config/Yubico(/.*)?
206 /root/.google_authenticator
207 /root/.google_authenticator~
208 /home/[^/]+/.yubico(/.*)?
209 /home/[^/]+/.config/Yubico(/.*)?
210 /home/[^/]+/.google_authenticator
211 /home/[^/]+/.google_authenticator~
212
213 cgroup_t
214
215 /sys/fs/cgroup
216
217 cifs_t
218
219
220 dosfs_t
221
222
223 faillog_t
224
225 /var/log/btmp.*
226 /var/log/faillog.*
227 /var/log/tallylog.*
228 /var/run/faillock(/.*)?
229
230 fusefs_t
231
232 /var/run/user/[^/]*/gvfs
233
234 initrc_var_run_t
235
236 /var/run/utmp
237 /var/run/random-seed
238 /var/run/runlevel.dir
239 /var/run/setmixer_flag
240
241 lastlog_t
242
243 /var/log/lastlog.*
244
245 nfs_t
246
247
248 pam_var_console_t
249
250 /var/run/console(/.*)?
251
252 pam_var_run_t
253
254 /var/(db|adm)/sudo(/.*)?
255 /var/lib/sudo(/.*)?
256 /var/run/sudo(/.*)?
257 /var/run/motd.d(/.*)?
258 /var/run/pam_ssh(/.*)?
259 /var/run/sepermit(/.*)?
260 /var/run/pam_mount(/.*)?
261 /var/run/pam_timestamp(/.*)?
262 /var/run/motd
263
264 security_t
265
266 /selinux
267
268 sysfs_t
269
270 /sys(/.*)?
271
272 systemd_passwd_var_run_t
273
274 /var/run/systemd/ask-password(/.*)?
275 /var/run/systemd/ask-password-block(/.*)?
276
277 var_auth_t
278
279 /var/ace(/.*)?
280 /var/rsa(/.*)?
281 /var/lib/abl(/.*)?
282 /var/lib/rsa(/.*)?
283 /var/lib/pam_ssh(/.*)?
284 /var/lib/pam_shield(/.*)?
285 /var/opt/quest/vas/vasd(/.*)?
286 /var/lib/google-authenticator(/.*)?
287
288 wtmp_t
289
290 /var/log/wtmp.*
291
292 xdm_lock_t
293
294
295 xdm_log_t
296
297 /var/log/[mkwx]dm.log.*
298 /var/log/mdm(/.*)?
299 /var/log/lxdm.log.*
300 /var/log/slim.log.*
301
302 xdm_spool_t
303
304 /var/spool/[mg]dm(/.*)?
305
306 xdm_tmpfs_t
307
308
309 xdm_var_lib_t
310
311 /var/lib/[mxkwg]dm(/.*)?
312 /var/cache/[mg]dm(/.*)?
313 /var/lib/gdm(3)?(/.*)?
314 /var/lib/lxdm(/.*)?
315 /var/lib/sddm(/.*)?
316 /var/lib/lightdm(/.*)?
317 /var/cache/lightdm(/.*)?
318 /var/lib/lightdm-data(/.*)?
319
320 xdm_var_run_t
321
322 /etc/kde[34]?/kdm/backgroundrc
323 /var/run/[kgm]dm(/.*)?
324 /var/run/gdm(3)?.pid
325 /var/run/gdm(3)?(/.*)?
326 /usr/lib/qt-.*/etc/settings(/.*)?
327 /var/run/slim.*
328 /var/run/lxdm(/.*)?
329 /var/run/sddm(/.*)?
330 /var/run/xauth(/.*)?
331 /var/run/xdmctl(/.*)?
332 /var/run/lightdm(/.*)?
333 /var/run/systemd/multi-session-x(/.*)?
334 /var/run/xdm.pid
335 /var/run/lxdm.pid
336 /var/run/lxdm.auth
337 /var/run/gdm_socket
338
339 xkb_var_lib_t
340
341 /var/lib/xkb(/.*)?
342 /usr/X11R6/lib/X11/xkb/.*
343 /usr/X11R6/lib/X11/xkb
344
345 xserver_log_t
346
347 /var/[xgkw]dm(/.*)?
348 /usr/var/[xgkw]dm(/.*)?
349 /var/log/gdm(3)?(/.*)?
350 /var/log/Xorg.*
351 /var/log/XFree86.*
352 /var/log/lightdm(/.*)?
353 /var/log/nvidia-installer.log.*
354
355
357 SELinux requires files to have an extended attribute to define the file
358 type.
359
360 You can see the context of a file using the -Z option to ls
361
362 Policy governs the access confined processes have to these files.
363 SELinux xdm policy is very flexible allowing users to setup their xdm
364 processes in as secure a method as possible.
365
366 EQUIVALENCE DIRECTORIES
367
368
369 xdm policy stores data with multiple different file context types under
370 the /var/lib/lightdm directory. If you would like to store the data in
371 a different directory you can use the semanage command to create an
372 equivalence mapping. If you wanted to store this data under the /srv
373 directory you would execute the following command:
374
375 semanage fcontext -a -e /var/lib/lightdm /srv/lightdm
376 restorecon -R -v /srv/lightdm
377
378 xdm policy stores data with multiple different file context types under
379 the /var/run/gdm(3)? directory. If you would like to store the data in
380 a different directory you can use the semanage command to create an
381 equivalence mapping. If you wanted to store this data under the /srv
382 directory you would execute the following command:
383
384 semanage fcontext -a -e /var/run/gdm(3)? /srv/gdm(3)?
385 restorecon -R -v /srv/gdm(3)?
386
387 xdm policy stores data with multiple different file context types under
388 the /var/run/lxdm directory. If you would like to store the data in a
389 different directory you can use the semanage command to create an
390 equivalence mapping. If you wanted to store this data under the /srv
391 directory you would execute the following command:
392
393 semanage fcontext -a -e /var/run/lxdm /srv/lxdm
394 restorecon -R -v /srv/lxdm
395
396 STANDARD FILE CONTEXT
397
398 SELinux defines the file context types for the xdm, if you wanted to
399 store files with these types in a diffent paths, you need to execute
400 the semanage command to sepecify alternate labeling and then use
401 restorecon to put the labels on disk.
402
403 semanage fcontext -a -t xdm_log_t '/srv/myxdm_content(/.*)?'
404 restorecon -R -v /srv/myxdm_content
405
406 Note: SELinux often uses regular expressions to specify labels that
407 match multiple files.
408
409 The following file types are defined for xdm:
410
411
412
413 xdm_etc_t
414
415 - Set files with the xdm_etc_t type, if you want to store xdm files in
416 the /etc directories.
417
418
419
420 xdm_exec_t
421
422 - Set files with the xdm_exec_t type, if you want to transition an exe‐
423 cutable to the xdm_t domain.
424
425
426 Paths:
427 /usr/s?bin/nodm, /usr/s?bin/gdm(3)?, /usr/s?bin/lightdm*,
428 /usr/s?bin/[mxgkw]dm, /usr/s?bin/gdm-binary,
429 /usr/s?bin/lxdm(-binary)?, /usr/X11R6/bin/[xgkw]dm,
430 /usr/bin/razor-lightdm-.*, /usr/bin/sddm, /usr/bin/slim,
431 /usr/bin/gpe-dm, /opt/kde3/bin/kdm, /usr/sbin/mdm-binary,
432 /usr/bin/sddm-greeter, /etc/rc.d/init.d/x11-common,
433 /usr/libexec/gdm-disable-wayland
434
435
436 xdm_home_t
437
438 - Set files with the xdm_home_t type, if you want to store xdm files in
439 the users home directory.
440
441
442 Paths:
443 /root/.dmrc.*, /root/.wayland-errors.*, /root/.xsession-errors.*,
444 /home/[^/]+/.dmrc.*, /home/[^/]+/.cache/gdm(/.*)?,
445 /home/[^/]+/.wayland-errors.*, /home/[^/]+/.xsession-errors.*,
446 /home/[^/]+/.local/share/xorg(/.*)?
447
448
449 xdm_lock_t
450
451 - Set files with the xdm_lock_t type, if you want to treat the files as
452 xdm lock data, stored under the /var/lock directory
453
454
455
456 xdm_log_t
457
458 - Set files with the xdm_log_t type, if you want to treat the data as
459 xdm log data, usually stored under the /var/log directory.
460
461
462 Paths:
463 /var/log/[mkwx]dm.log.*, /var/log/mdm(/.*)?, /var/log/lxdm.log.*,
464 /var/log/slim.log.*
465
466
467 xdm_rw_etc_t
468
469 - Set files with the xdm_rw_etc_t type, if you want to store xdm rw
470 files in the /etc directories.
471
472
473 Paths:
474 /etc/X11/wdm(/.*)?, /etc/opt/VirtualGL(/.*)?
475
476
477 xdm_spool_t
478
479 - Set files with the xdm_spool_t type, if you want to store the xdm
480 files under the /var/spool directory.
481
482
483
484 xdm_tmpfs_t
485
486 - Set files with the xdm_tmpfs_t type, if you want to store xdm files
487 on a tmpfs file system.
488
489
490
491 xdm_unconfined_exec_t
492
493 - Set files with the xdm_unconfined_exec_t type, if you want to transi‐
494 tion an executable to the xdm_unconfined_t domain.
495
496
497 Paths:
498 /etc/[mg]dm/Init(/.*)?, /etc/[mg]dm/PostLogin(/.*)?,
499 /etc/[mg]dm/PreSession(/.*)?, /etc/[mg]dm/PostSession(/.*)?
500
501
502 xdm_unit_file_t
503
504 - Set files with the xdm_unit_file_t type, if you want to treat the
505 files as xdm unit content.
506
507
508
509 xdm_var_lib_t
510
511 - Set files with the xdm_var_lib_t type, if you want to store the xdm
512 files under the /var/lib directory.
513
514
515 Paths:
516 /var/lib/[mxkwg]dm(/.*)?, /var/cache/[mg]dm(/.*)?,
517 /var/lib/gdm(3)?(/.*)?, /var/lib/lxdm(/.*)?, /var/lib/sddm(/.*)?,
518 /var/lib/lightdm(/.*)?, /var/cache/lightdm(/.*)?,
519 /var/lib/lightdm-data(/.*)?
520
521
522 xdm_var_run_t
523
524 - Set files with the xdm_var_run_t type, if you want to store the xdm
525 files under the /run or /var/run directory.
526
527
528 Paths:
529 /etc/kde[34]?/kdm/backgroundrc, /var/run/[kgm]dm(/.*)?,
530 /var/run/gdm(3)?.pid, /var/run/gdm(3)?(/.*)?,
531 /usr/lib/qt-.*/etc/settings(/.*)?, /var/run/slim.*,
532 /var/run/lxdm(/.*)?, /var/run/sddm(/.*)?, /var/run/xauth(/.*)?,
533 /var/run/xdmctl(/.*)?, /var/run/lightdm(/.*)?, /var/run/sys‐
534 temd/multi-session-x(/.*)?, /var/run/xdm.pid, /var/run/lxdm.pid,
535 /var/run/lxdm.auth, /var/run/gdm_socket
536
537
538 Note: File context can be temporarily modified with the chcon command.
539 If you want to permanently change the file context you need to use the
540 semanage fcontext command. This will modify the SELinux labeling data‐
541 base. You will need to use restorecon to apply the labels.
542
543
545 semanage fcontext can also be used to manipulate default file context
546 mappings.
547
548 semanage permissive can also be used to manipulate whether or not a
549 process type is permissive.
550
551 semanage module can also be used to enable/disable/install/remove pol‐
552 icy modules.
553
554 semanage port can also be used to manipulate the port definitions
555
556 semanage boolean can also be used to manipulate the booleans
557
558
559 system-config-selinux is a GUI tool available to customize SELinux pol‐
560 icy settings.
561
562
564 This manual page was auto-generated using sepolicy manpage .
565
566
568 selinux(8), xdm(8), semanage(8), restorecon(8), chcon(1), sepolicy(8),
569 setsebool(8), xdm_unconfined_selinux(8), xdm_unconfined_selinux(8)
570
571
572
573xdm 21-03-26 xdm_selinux(8)