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
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_helper_t, bluetooth_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 all daemons to write corefiles to /, you must turn
63 on the allow_daemons_dump_core boolean. Disabled by default.
64
65 setsebool -P allow_daemons_dump_core 1
66
67
68
69 If you want to allow all daemons to use tcp wrappers, you must turn on
70 the allow_daemons_use_tcp_wrapper boolean. Disabled by default.
71
72 setsebool -P allow_daemons_use_tcp_wrapper 1
73
74
75
76 If you want to allow all daemons the ability to read/write terminals,
77 you must turn on the allow_daemons_use_tty boolean. Disabled by
78 default.
79
80 setsebool -P allow_daemons_use_tty 1
81
82
83
84 If you want to allow all domains to use other domains file descriptors,
85 you must turn on the allow_domain_fd_use boolean. Enabled by default.
86
87 setsebool -P allow_domain_fd_use 1
88
89
90
91 If you want to allow confined applications to run with kerberos, you
92 must turn on the allow_kerberos boolean. Enabled by default.
93
94 setsebool -P allow_kerberos 1
95
96
97
98 If you want to allow sysadm to debug or ptrace all processes, you must
99 turn on the allow_ptrace boolean. Disabled by default.
100
101 setsebool -P allow_ptrace 1
102
103
104
105 If you want to allow system to run with NIS, you must turn on the
106 allow_ypbind boolean. Disabled by default.
107
108 setsebool -P allow_ypbind 1
109
110
111
112 If you want to enable cluster mode for daemons, you must turn on the
113 daemons_enable_cluster_mode boolean. Disabled by default.
114
115 setsebool -P daemons_enable_cluster_mode 1
116
117
118
119 If you want to allow all domains to have the kernel load modules, you
120 must turn on the domain_kernel_load_modules boolean. Disabled by
121 default.
122
123 setsebool -P domain_kernel_load_modules 1
124
125
126
127 If you want to allow all domains to execute in fips_mode, you must turn
128 on the fips_mode boolean. Enabled by default.
129
130 setsebool -P fips_mode 1
131
132
133
134 If you want to enable reading of urandom for all domains, you must turn
135 on the global_ssp boolean. Disabled by default.
136
137 setsebool -P global_ssp 1
138
139
140
141 If you want to enable support for upstart as the init program, you must
142 turn on the init_upstart boolean. Enabled by default.
143
144 setsebool -P init_upstart 1
145
146
147
148 If you want to allow confined applications to use nscd shared memory,
149 you must turn on the nscd_use_shm boolean. Enabled by default.
150
151 setsebool -P nscd_use_shm 1
152
153
154
155 If you want to allow xguest to use blue tooth devices, you must turn on
156 the xguest_use_bluetooth boolean. Enabled by default.
157
158 setsebool -P xguest_use_bluetooth 1
159
160
161
163 The SELinux process type bluetooth_t can manage files labeled with the
164 following file types. The paths listed are the default paths for these
165 file types. Note the processes UID still need to have DAC permissions.
166
167 bluetooth_conf_rw_t
168
169 /etc/bluetooth/link_key
170
171 bluetooth_lock_t
172
173
174 bluetooth_tmp_t
175
176
177 bluetooth_var_lib_t
178
179 /var/lib/bluetooth(/.*)?
180
181 bluetooth_var_run_t
182
183 /var/run/sdp
184 /var/run/bluetoothd_address
185
186 cluster_conf_t
187
188 /etc/cluster(/.*)?
189
190 cluster_var_lib_t
191
192 /var/lib(64)?/openais(/.*)?
193 /var/lib(64)?/pengine(/.*)?
194 /var/lib(64)?/corosync(/.*)?
195 /usr/lib(64)?/heartbeat(/.*)?
196 /var/lib(64)?/heartbeat(/.*)?
197 /var/lib(64)?/pacemaker(/.*)?
198 /var/lib/cluster(/.*)?
199
200 cluster_var_run_t
201
202 /var/run/crm(/.*)?
203 /var/run/cman_.*
204 /var/run/rsctmp(/.*)?
205 /var/run/aisexec.*
206 /var/run/heartbeat(/.*)?
207 /var/run/cpglockd.pid
208 /var/run/corosync.pid
209 /var/run/rgmanager.pid
210 /var/run/cluster/rgmanager.sk
211
212 initrc_tmp_t
213
214
215 mnt_t
216
217 /mnt(/[^/]*)
218 /mnt(/[^/]*)?
219 /rhev(/[^/]*)?
220 /media(/[^/]*)
221 /media(/[^/]*)?
222 /etc/rhgb(/.*)?
223 /media/.hal-.*
224 /net
225 /afs
226 /rhev
227 /misc
228
229 root_t
230
231 /
232 /initrd
233
234 tmp_t
235
236 /tmp
237 /usr/tmp
238 /var/tmp
239 /tmp-inst
240 /var/tmp-inst
241 /var/tmp/vi.recover
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
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_var_lib_t
349
350 - Set files with the bluetooth_var_lib_t type, if you want to store the
351 bluetooth files under the /var/lib directory.
352
353
354
355 bluetooth_var_run_t
356
357 - Set files with the bluetooth_var_run_t type, if you want to store the
358 bluetooth files under the /run or /var/run directory.
359
360
361 Paths:
362 /var/run/sdp, /var/run/bluetoothd_address
363
364
365 Note: File context can be temporarily modified with the chcon command.
366 If you want to permanently change the file context you need to use the
367 semanage fcontext command. This will modify the SELinux labeling data‐
368 base. You will need to use restorecon to apply the labels.
369
370
372 semanage fcontext can also be used to manipulate default file context
373 mappings.
374
375 semanage permissive can also be used to manipulate whether or not a
376 process type is permissive.
377
378 semanage module can also be used to enable/disable/install/remove pol‐
379 icy modules.
380
381 semanage boolean can also be used to manipulate the booleans
382
383
384 system-config-selinux is a GUI tool available to customize SELinux pol‐
385 icy settings.
386
387
389 This manual page was auto-generated using sepolicy manpage .
390
391
393 selinux(8), bluetooth(8), semanage(8), restorecon(8), chcon(1) , setse‐
394 bool(8), bluetooth_helper_selinux(8), bluetooth_helper_selinux(8)
395
396
397
398bluetooth 15-06-03 bluetooth_selinux(8)