1bluetooth_selinux(8) SELinux Policy bluetooth bluetooth_selinux(8)
2
3
4
6 bluetooth_selinux - Security Enhanced Linux Policy for the bluetooth
7 processes
8
10 Security-Enhanced Linux secures the bluetooth processes via flexible
11 mandatory access control.
12
13 The bluetooth processes execute with the bluetooth_t SELinux type. You
14 can check if you have these processes running by executing the ps com‐
15 mand with the -Z qualifier.
16
17 For example:
18
19 ps -eZ | grep bluetooth_t
20
21
22
24 The bluetooth_t SELinux type can be entered via the bluetooth_exec_t
25 file type.
26
27 The default entrypoint paths for the bluetooth_t domain are the follow‐
28 ing:
29
30 /usr/bin/dund, /usr/bin/hidd, /usr/bin/pand, /usr/sbin/hcid,
31 /usr/sbin/sdpd, /usr/bin/rfcomm, /usr/sbin/hid2hci, /usr/sbin/hciat‐
32 tach, /usr/sbin/bluetoothd, /usr/libexec/bluetooth/bluetoothd
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 bluetooth policy is very flexible allowing users to setup their blue‐
42 tooth processes in as secure a method as possible.
43
44 The following process types are defined for bluetooth:
45
46 bluetooth_t, bluetooth_helper_t
47
48 Note: semanage permissive -a bluetooth_t can be used to make the
49 process type bluetooth_t permissive. SELinux does not deny access to
50 permissive process types, but the AVC (SELinux denials) messages are
51 still generated.
52
53
55 SELinux policy is customizable based on least access required. blue‐
56 tooth policy is extremely flexible and has several booleans that allow
57 you to manipulate the policy and run bluetooth with the tightest access
58 possible.
59
60
61
62 If you want to allow users to resolve user passwd entries directly from
63 ldap rather then using a sssd server, you must turn on the authlo‐
64 gin_nsswitch_use_ldap boolean. Disabled by default.
65
66 setsebool -P authlogin_nsswitch_use_ldap 1
67
68
69
70 If you want to allow all daemons to write corefiles to /, you must turn
71 on the daemons_dump_core boolean. Disabled by default.
72
73 setsebool -P daemons_dump_core 1
74
75
76
77 If you want to enable cluster mode for daemons, you must turn on the
78 daemons_enable_cluster_mode boolean. Enabled by default.
79
80 setsebool -P daemons_enable_cluster_mode 1
81
82
83
84 If you want to allow all daemons to use tcp wrappers, you must turn on
85 the daemons_use_tcp_wrapper boolean. Disabled by default.
86
87 setsebool -P daemons_use_tcp_wrapper 1
88
89
90
91 If you want to allow all daemons the ability to read/write terminals,
92 you must turn on the daemons_use_tty boolean. Disabled by default.
93
94 setsebool -P daemons_use_tty 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
100 default.
101
102 setsebool -P deny_ptrace 1
103
104
105
106 If you want to allow any process to mmap any file on system with
107 attribute file_type, you must turn on the domain_can_mmap_files bool‐
108 ean. Enabled by default.
109
110 setsebool -P domain_can_mmap_files 1
111
112
113
114 If you want to allow all domains write to kmsg_device, while kernel is
115 executed with systemd.log_target=kmsg parameter, you must turn on the
116 domain_can_write_kmsg boolean. Disabled by default.
117
118 setsebool -P domain_can_write_kmsg 1
119
120
121
122 If you want to allow all domains to use other domains file descriptors,
123 you must turn on the domain_fd_use boolean. Enabled by default.
124
125 setsebool -P domain_fd_use 1
126
127
128
129 If you want to allow all domains to have the kernel load modules, you
130 must turn on the domain_kernel_load_modules boolean. Disabled by
131 default.
132
133 setsebool -P domain_kernel_load_modules 1
134
135
136
137 If you want to allow all domains to execute in fips_mode, you must turn
138 on the fips_mode boolean. Enabled by default.
139
140 setsebool -P fips_mode 1
141
142
143
144 If you want to enable reading of urandom for all domains, you must turn
145 on the global_ssp boolean. Disabled by default.
146
147 setsebool -P global_ssp 1
148
149
150
151 If you want to allow confined applications to run with kerberos, you
152 must turn on the kerberos_enabled boolean. Enabled by default.
153
154 setsebool -P kerberos_enabled 1
155
156
157
158 If you want to allow system to run with NIS, you must turn on the
159 nis_enabled boolean. Disabled by default.
160
161 setsebool -P nis_enabled 1
162
163
164
165 If you want to allow confined applications to use nscd shared memory,
166 you must turn on the nscd_use_shm boolean. Disabled by default.
167
168 setsebool -P nscd_use_shm 1
169
170
171
172 If you want to allow xguest to use blue tooth devices, you must turn on
173 the xguest_use_bluetooth boolean. Enabled by default.
174
175 setsebool -P xguest_use_bluetooth 1
176
177
178
180 The SELinux process type bluetooth_t can manage files labeled with the
181 following file types. The paths listed are the default paths for these
182 file types. Note the processes UID still need to have DAC permissions.
183
184 bluetooth_conf_rw_t
185
186 /etc/bluetooth/link_key
187
188 bluetooth_lock_t
189
190 /var/lock/subsys/bluetoothd
191
192 bluetooth_tmp_t
193
194
195 bluetooth_var_lib_t
196
197 /var/lib/bluetooth(/.*)?
198
199 bluetooth_var_run_t
200
201 /var/run/sdp
202 /var/run/bluetoothd_address
203
204 cluster_conf_t
205
206 /etc/cluster(/.*)?
207
208 cluster_var_lib_t
209
210 /var/lib/pcsd(/.*)?
211 /var/lib/cluster(/.*)?
212 /var/lib/openais(/.*)?
213 /var/lib/pengine(/.*)?
214 /var/lib/corosync(/.*)?
215 /usr/lib/heartbeat(/.*)?
216 /var/lib/heartbeat(/.*)?
217 /var/lib/pacemaker(/.*)?
218
219 cluster_var_run_t
220
221 /var/run/crm(/.*)?
222 /var/run/cman_.*
223 /var/run/rsctmp(/.*)?
224 /var/run/aisexec.*
225 /var/run/heartbeat(/.*)?
226 /var/run/corosync-qnetd(/.*)?
227 /var/run/corosync-qdevice(/.*)?
228 /var/run/cpglockd.pid
229 /var/run/corosync.pid
230 /var/run/rgmanager.pid
231 /var/run/cluster/rgmanager.sk
232
233 root_t
234
235 /sysroot/ostree/deploy/.*-atomic.*/deploy(/.*)?
236 /
237 /initrd
238
239 sysfs_t
240
241 /sys(/.*)?
242
243 usbfs_t
244
245
246
248 SELinux requires files to have an extended attribute to define the file
249 type.
250
251 You can see the context of a file using the -Z option to ls
252
253 Policy governs the access confined processes have to these files.
254 SELinux bluetooth policy is very flexible allowing users to setup their
255 bluetooth processes in as secure a method as possible.
256
257 STANDARD FILE CONTEXT
258
259 SELinux defines the file context types for the bluetooth, if you wanted
260 to store files with these types in a diffent paths, you need to execute
261 the semanage command to sepecify alternate labeling and then use
262 restorecon to put the labels on disk.
263
264 semanage fcontext -a -t bluetooth_var_run_t '/srv/mybluetooth_con‐
265 tent(/.*)?'
266 restorecon -R -v /srv/mybluetooth_content
267
268 Note: SELinux often uses regular expressions to specify labels that
269 match multiple files.
270
271 The following file types are defined for bluetooth:
272
273
274
275 bluetooth_conf_rw_t
276
277 - Set files with the bluetooth_conf_rw_t type, if you want to treat the
278 files as bluetooth conf read/write content.
279
280
281
282 bluetooth_conf_t
283
284 - Set files with the bluetooth_conf_t type, if you want to treat the
285 files as bluetooth configuration data, usually stored under the /etc
286 directory.
287
288
289
290 bluetooth_exec_t
291
292 - Set files with the bluetooth_exec_t type, if you want to transition
293 an executable to the bluetooth_t domain.
294
295
296 Paths:
297 /usr/bin/dund, /usr/bin/hidd, /usr/bin/pand, /usr/sbin/hcid,
298 /usr/sbin/sdpd, /usr/bin/rfcomm, /usr/sbin/hid2hci, /usr/sbin/hci‐
299 attach, /usr/sbin/bluetoothd, /usr/libexec/bluetooth/bluetoothd
300
301
302 bluetooth_helper_exec_t
303
304 - Set files with the bluetooth_helper_exec_t type, if you want to tran‐
305 sition an executable to the bluetooth_helper_t domain.
306
307
308
309 bluetooth_helper_tmp_t
310
311 - Set files with the bluetooth_helper_tmp_t type, if you want to store
312 bluetooth helper temporary files in the /tmp directories.
313
314
315
316 bluetooth_helper_tmpfs_t
317
318 - Set files with the bluetooth_helper_tmpfs_t type, if you want to
319 store bluetooth helper files on a tmpfs file system.
320
321
322
323 bluetooth_initrc_exec_t
324
325 - Set files with the bluetooth_initrc_exec_t type, if you want to tran‐
326 sition an executable to the bluetooth_initrc_t domain.
327
328
329 Paths:
330 /etc/rc.d/init.d/dund, /etc/rc.d/init.d/pand,
331 /etc/rc.d/init.d/bluetooth
332
333
334 bluetooth_lock_t
335
336 - Set files with the bluetooth_lock_t type, if you want to treat the
337 files as bluetooth lock data, stored under the /var/lock directory
338
339
340
341 bluetooth_tmp_t
342
343 - Set files with the bluetooth_tmp_t type, if you want to store blue‐
344 tooth temporary files in the /tmp directories.
345
346
347
348 bluetooth_unit_file_t
349
350 - Set files with the bluetooth_unit_file_t type, if you want to treat
351 the files as bluetooth unit content.
352
353
354
355 bluetooth_var_lib_t
356
357 - Set files with the bluetooth_var_lib_t type, if you want to store the
358 bluetooth files under the /var/lib directory.
359
360
361
362 bluetooth_var_run_t
363
364 - Set files with the bluetooth_var_run_t type, if you want to store the
365 bluetooth files under the /run or /var/run directory.
366
367
368 Paths:
369 /var/run/sdp, /var/run/bluetoothd_address
370
371
372 Note: File context can be temporarily modified with the chcon command.
373 If you want to permanently change the file context you need to use the
374 semanage fcontext command. This will modify the SELinux labeling data‐
375 base. You will need to use restorecon to apply the labels.
376
377
379 semanage fcontext can also be used to manipulate default file context
380 mappings.
381
382 semanage permissive can also be used to manipulate whether or not a
383 process type is permissive.
384
385 semanage module can also be used to enable/disable/install/remove pol‐
386 icy modules.
387
388 semanage boolean can also be used to manipulate the booleans
389
390
391 system-config-selinux is a GUI tool available to customize SELinux pol‐
392 icy settings.
393
394
396 This manual page was auto-generated using sepolicy manpage .
397
398
400 selinux(8), bluetooth(8), semanage(8), restorecon(8), chcon(1), sepol‐
401 icy(8) , setsebool(8), bluetooth_helper_selinux(8), blue‐
402 tooth_helper_selinux(8)
403
404
405
406bluetooth 19-04-25 bluetooth_selinux(8)