~ubuntu-branches/ubuntu/maverick/refpolicy-ubuntu/maverick

« back to all changes in this revision

Viewing changes to policy/modules/kernel/storage.if

  • Committer: Bazaar Package Importer
  • Author(s): Marshall Miller
  • Date: 2009-03-24 02:17:01 UTC
  • Revision ID: james.westby@ubuntu.com-20090324021701-ost9gewrbluclm5r
Tags: upstream-0.2.20090324
ImportĀ upstreamĀ versionĀ 0.2.20090324

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
## <summary>Policy controlling access to storage devices</summary>
 
2
 
 
3
########################################
 
4
## <summary>
 
5
##      Allow the caller to get the attributes of fixed disk
 
6
##      device nodes.
 
7
## </summary>
 
8
## <param name="domain">
 
9
##      <summary>
 
10
##      The type of the process performing this action.
 
11
##      </summary>
 
12
## </param>
 
13
#
 
14
interface(`storage_getattr_fixed_disk_dev',`
 
15
        gen_require(`
 
16
                type fixed_disk_device_t;
 
17
        ')
 
18
 
 
19
        dev_list_all_dev_nodes($1)
 
20
        allow $1 fixed_disk_device_t:blk_file getattr;
 
21
')
 
22
 
 
23
########################################
 
24
## <summary>
 
25
##      Do not audit attempts made by the caller to get
 
26
##      the attributes of fixed disk device nodes.
 
27
## </summary>
 
28
## <param name="domain">
 
29
##      <summary>
 
30
##      The type of the process to not audit.
 
31
##      </summary>
 
32
## </param>
 
33
#
 
34
interface(`storage_dontaudit_getattr_fixed_disk_dev',`
 
35
        gen_require(`
 
36
                type fixed_disk_device_t;
 
37
        ')
 
38
 
 
39
        dontaudit $1 fixed_disk_device_t:blk_file getattr;
 
40
        dontaudit $1 fixed_disk_device_t:chr_file getattr; # /dev/rawctl
 
41
')
 
42
 
 
43
########################################
 
44
## <summary>
 
45
##      Allow the caller to set the attributes of fixed disk
 
46
##      device nodes.
 
47
## </summary>
 
48
## <param name="domain">
 
49
##      <summary>
 
50
##      The type of the process performing this action.
 
51
##      </summary>
 
52
## </param>
 
53
#
 
54
interface(`storage_setattr_fixed_disk_dev',`
 
55
        gen_require(`
 
56
                type fixed_disk_device_t;
 
57
        ')
 
58
 
 
59
        dev_list_all_dev_nodes($1)
 
60
        allow $1 fixed_disk_device_t:blk_file setattr;
 
61
')
 
62
 
 
63
########################################
 
64
## <summary>
 
65
##      Do not audit attempts made by the caller to set
 
66
##      the attributes of fixed disk device nodes.
 
67
## </summary>
 
68
## <param name="domain">
 
69
##      <summary>
 
70
##      The type of the process to not audit.
 
71
##      </summary>
 
72
## </param>
 
73
#
 
74
interface(`storage_dontaudit_setattr_fixed_disk_dev',`
 
75
        gen_require(`
 
76
                type fixed_disk_device_t;
 
77
        ')
 
78
 
 
79
        dontaudit $1 fixed_disk_device_t:blk_file setattr;
 
80
')
 
81
 
 
82
########################################
 
83
## <summary>
 
84
##      Allow the caller to directly read from a fixed disk.
 
85
##      This is extremly dangerous as it can bypass the
 
86
##      SELinux protections for filesystem objects, and
 
87
##      should only be used by trusted domains.
 
88
## </summary>
 
89
## <param name="domain">
 
90
##      <summary>
 
91
##      The type of the process performing this action.
 
92
##      </summary>
 
93
## </param>
 
94
#
 
95
interface(`storage_raw_read_fixed_disk',`
 
96
        gen_require(`
 
97
                attribute fixed_disk_raw_read;
 
98
                type fixed_disk_device_t;
 
99
        ')
 
100
 
 
101
        dev_list_all_dev_nodes($1)
 
102
        allow $1 fixed_disk_device_t:blk_file read_blk_file_perms;
 
103
        allow $1 fixed_disk_device_t:chr_file read_chr_file_perms;
 
104
        typeattribute $1 fixed_disk_raw_read;
 
105
')
 
106
 
 
107
########################################
 
108
## <summary>
 
109
##      Do not audit attempts made by the caller to read
 
110
##      fixed disk device nodes.
 
111
## </summary>
 
112
## <param name="domain">
 
113
##      <summary>
 
114
##      The type of the process to not audit.
 
115
##      </summary>
 
116
## </param>
 
117
#
 
118
interface(`storage_dontaudit_read_fixed_disk',`
 
119
        gen_require(`
 
120
                type fixed_disk_device_t;
 
121
 
 
122
        ')
 
123
 
 
124
        dontaudit $1 fixed_disk_device_t:blk_file read_blk_file_perms;
 
125
        dontaudit $1 fixed_disk_device_t:chr_file read_chr_file_perms;
 
126
')
 
127
 
 
128
########################################
 
129
## <summary>
 
130
##      Allow the caller to directly write to a fixed disk.
 
131
##      This is extremly dangerous as it can bypass the
 
132
##      SELinux protections for filesystem objects, and
 
133
##      should only be used by trusted domains.
 
134
## </summary>
 
135
## <param name="domain">
 
136
##      <summary>
 
137
##      The type of the process performing this action.
 
138
##      </summary>
 
139
## </param>
 
140
#
 
141
interface(`storage_raw_write_fixed_disk',`
 
142
        gen_require(`
 
143
                attribute fixed_disk_raw_write;
 
144
                type fixed_disk_device_t;
 
145
        ')
 
146
 
 
147
        dev_list_all_dev_nodes($1)
 
148
        allow $1 fixed_disk_device_t:blk_file write_blk_file_perms;
 
149
        allow $1 fixed_disk_device_t:chr_file write_chr_file_perms;
 
150
        typeattribute $1 fixed_disk_raw_write;
 
151
')
 
152
 
 
153
########################################
 
154
## <summary>
 
155
##      Do not audit attempts made by the caller to write
 
156
##      fixed disk device nodes.
 
157
## </summary>
 
158
## <param name="domain">
 
159
##      <summary>
 
160
##      Domain to not audit.
 
161
##      </summary>
 
162
## </param>
 
163
#
 
164
interface(`storage_dontaudit_write_fixed_disk',`
 
165
        gen_require(`
 
166
                type fixed_disk_device_t;
 
167
 
 
168
        ')
 
169
 
 
170
        dontaudit $1 fixed_disk_device_t:blk_file write_blk_file_perms;
 
171
')
 
172
 
 
173
########################################
 
174
## <summary>
 
175
##      Allow the caller to directly read and write to a fixed disk.
 
176
##      This is extremly dangerous as it can bypass the
 
177
##      SELinux protections for filesystem objects, and
 
178
##      should only be used by trusted domains.
 
179
## </summary>
 
180
## <param name="domain">
 
181
##      <summary>
 
182
##      Domain allowed access.
 
183
##      </summary>
 
184
## </param>
 
185
#
 
186
interface(`storage_raw_rw_fixed_disk',`
 
187
        storage_raw_read_fixed_disk($1)
 
188
        storage_raw_write_fixed_disk($1)
 
189
')
 
190
 
 
191
########################################
 
192
## <summary>
 
193
##      Create, read, write, and delete fixed disk device nodes.
 
194
## </summary>
 
195
## <param name="domain">
 
196
##      <summary>
 
197
##      The type of the process performing this action.
 
198
##      </summary>
 
199
## </param>
 
200
#
 
201
interface(`storage_manage_fixed_disk',`
 
202
        gen_require(`
 
203
                attribute fixed_disk_raw_read, fixed_disk_raw_write;
 
204
                type fixed_disk_device_t;
 
205
        ')
 
206
 
 
207
        dev_list_all_dev_nodes($1)
 
208
        allow $1 self:capability mknod;
 
209
        allow $1 fixed_disk_device_t:blk_file manage_blk_file_perms;
 
210
        allow $1 fixed_disk_device_t:chr_file manage_chr_file_perms;
 
211
        typeattribute $1 fixed_disk_raw_read, fixed_disk_raw_write;
 
212
')
 
213
 
 
214
########################################
 
215
## <summary>
 
216
##      Create block devices in /dev with the fixed disk type
 
217
##      via an automatic type transition.
 
218
## </summary>
 
219
## <param name="domain">
 
220
##      <summary>
 
221
##      The type of the process performing this action.
 
222
##      </summary>
 
223
## </param>
 
224
#
 
225
interface(`storage_dev_filetrans_fixed_disk',`
 
226
        gen_require(`
 
227
                type fixed_disk_device_t;
 
228
        ')
 
229
 
 
230
        dev_filetrans($1, fixed_disk_device_t, blk_file)
 
231
')
 
232
 
 
233
########################################
 
234
## <summary>
 
235
##      Create block devices in on a tmpfs filesystem with the
 
236
##      fixed disk type via an automatic type transition.
 
237
## </summary>
 
238
## <param name="domain">
 
239
##      <summary>
 
240
##      The type of the process performing this action.
 
241
##      </summary>
 
242
## </param>
 
243
#
 
244
interface(`storage_tmpfs_filetrans_fixed_disk',`
 
245
        gen_require(`
 
246
                type fixed_disk_device_t;
 
247
        ')
 
248
 
 
249
        fs_tmpfs_filetrans($1, fixed_disk_device_t, blk_file)
 
250
')
 
251
 
 
252
########################################
 
253
## <summary>
 
254
##      Relabel fixed disk device nodes.
 
255
## </summary>
 
256
## <param name="domain">
 
257
##      <summary>
 
258
##      The type of the process performing this action.
 
259
##      </summary>
 
260
## </param>
 
261
#
 
262
interface(`storage_relabel_fixed_disk',`
 
263
        gen_require(`
 
264
                type fixed_disk_device_t;
 
265
        ')
 
266
 
 
267
        dev_list_all_dev_nodes($1)
 
268
        allow $1 fixed_disk_device_t:blk_file relabel_blk_file_perms;
 
269
')
 
270
 
 
271
########################################
 
272
## <summary>
 
273
##      Enable a fixed disk device as swap space
 
274
## </summary>
 
275
## <param name="domain">
 
276
##      <summary>
 
277
##      The type of the process performing this action.
 
278
##      </summary>
 
279
## </param>
 
280
#
 
281
interface(`storage_swapon_fixed_disk',`
 
282
        gen_require(`
 
283
                type fixed_disk_device_t;
 
284
        ')
 
285
 
 
286
        dev_list_all_dev_nodes($1)
 
287
        allow $1 fixed_disk_device_t:blk_file { getattr swapon };
 
288
')
 
289
 
 
290
########################################
 
291
## <summary>
 
292
##      Allow the caller to get the attributes
 
293
##      of device nodes of fuse devices.
 
294
## </summary>
 
295
## <param name="domain">
 
296
##      <summary>
 
297
##      The type of the process performing this action.
 
298
##      </summary>
 
299
## </param>
 
300
#
 
301
interface(`storage_getattr_fuse_dev',`
 
302
        gen_require(`
 
303
                type fuse_device_t;
 
304
        ')
 
305
 
 
306
        dev_list_all_dev_nodes($1)
 
307
        allow $1 fuse_device_t:chr_file getattr;
 
308
')
 
309
 
 
310
########################################
 
311
## <summary>
 
312
##      read or write fuse device interfaces.
 
313
## </summary>
 
314
## <param name="domain">
 
315
##      <summary>
 
316
##      Domain to not audit.
 
317
##      </summary>
 
318
## </param>
 
319
#
 
320
interface(`storage_rw_fuse',`
 
321
        gen_require(`
 
322
                type fuse_device_t;
 
323
        ')
 
324
 
 
325
        allow $1 fuse_device_t:chr_file rw_file_perms;
 
326
')
 
327
 
 
328
########################################
 
329
## <summary>
 
330
##      Do not audit attempts to read or write
 
331
##      fuse device interfaces.
 
332
## </summary>
 
333
## <param name="domain">
 
334
##      <summary>
 
335
##      Domain to not audit.
 
336
##      </summary>
 
337
## </param>
 
338
#
 
339
interface(`storage_dontaudit_rw_fuse',`
 
340
        gen_require(`
 
341
                type fuse_device_t;
 
342
        ')
 
343
 
 
344
        dontaudit $1 fuse_device_t:chr_file rw_file_perms;
 
345
')
 
346
 
 
347
########################################
 
348
## <summary>
 
349
##      Allow the caller to get the attributes of
 
350
##      the generic SCSI interface device nodes.
 
351
## </summary>
 
352
## <param name="domain">
 
353
##      <summary>
 
354
##      The type of the process performing this action.
 
355
##      </summary>
 
356
## </param>
 
357
#
 
358
interface(`storage_getattr_scsi_generic_dev',`
 
359
        gen_require(`
 
360
                type scsi_generic_device_t;
 
361
        ')
 
362
 
 
363
        dev_list_all_dev_nodes($1)
 
364
        allow $1 scsi_generic_device_t:chr_file getattr;
 
365
')
 
366
 
 
367
########################################
 
368
## <summary>
 
369
##      Allow the caller to set the attributes of
 
370
##      the generic SCSI interface device nodes.
 
371
## </summary>
 
372
## <param name="domain">
 
373
##      <summary>
 
374
##      The type of the process performing this action.
 
375
##      </summary>
 
376
## </param>
 
377
#
 
378
interface(`storage_setattr_scsi_generic_dev',`
 
379
        gen_require(`
 
380
                type scsi_generic_device_t;
 
381
        ')
 
382
 
 
383
        dev_list_all_dev_nodes($1)
 
384
        allow $1 scsi_generic_device_t:chr_file setattr;
 
385
')
 
386
 
 
387
########################################
 
388
## <summary>
 
389
##      Allow the caller to directly read, in a
 
390
##      generic fashion, from any SCSI device.
 
391
##      This is extremly dangerous as it can bypass the
 
392
##      SELinux protections for filesystem objects, and
 
393
##      should only be used by trusted domains.
 
394
## </summary>
 
395
## <param name="domain">
 
396
##      <summary>
 
397
##      The type of the process performing this action.
 
398
##      </summary>
 
399
## </param>
 
400
#
 
401
interface(`storage_read_scsi_generic',`
 
402
        gen_require(`
 
403
                attribute scsi_generic_read;
 
404
                type scsi_generic_device_t;
 
405
        ')
 
406
 
 
407
        dev_list_all_dev_nodes($1)
 
408
        allow $1 scsi_generic_device_t:chr_file read_chr_file_perms;
 
409
        typeattribute $1 scsi_generic_read;
 
410
')
 
411
 
 
412
########################################
 
413
## <summary>
 
414
##      Allow the caller to directly write, in a
 
415
##      generic fashion, from any SCSI device.
 
416
##      This is extremly dangerous as it can bypass the
 
417
##      SELinux protections for filesystem objects, and
 
418
##      should only be used by trusted domains.
 
419
## </summary>
 
420
## <param name="domain">
 
421
##      <summary>
 
422
##      The type of the process performing this action.
 
423
##      </summary>
 
424
## </param>
 
425
#
 
426
interface(`storage_write_scsi_generic',`
 
427
        gen_require(`
 
428
                attribute scsi_generic_write;
 
429
                type scsi_generic_device_t;
 
430
        ')
 
431
 
 
432
        dev_list_all_dev_nodes($1)
 
433
        allow $1 scsi_generic_device_t:chr_file write_chr_file_perms;
 
434
        typeattribute $1 scsi_generic_write;
 
435
')
 
436
 
 
437
########################################
 
438
## <summary>
 
439
##      Set attributes of the device nodes
 
440
##      for the SCSI generic inerface.
 
441
## </summary>
 
442
## <param name="domain">
 
443
##      <summary>
 
444
##      The type of the process performing this action.
 
445
##      </summary>
 
446
## </param>
 
447
#
 
448
interface(`storage_setattr_scsi_generic_dev_dev',`
 
449
        gen_require(`
 
450
                type scsi_generic_device_t;
 
451
        ')
 
452
 
 
453
        dev_list_all_dev_nodes($1)
 
454
        allow $1 scsi_generic_device_t:chr_file setattr;
 
455
')
 
456
 
 
457
########################################
 
458
## <summary>
 
459
##      Do not audit attempts to read or write
 
460
##      SCSI generic device interfaces.
 
461
## </summary>
 
462
## <param name="domain">
 
463
##      <summary>
 
464
##      Domain to not audit.
 
465
##      </summary>
 
466
## </param>
 
467
#
 
468
interface(`storage_dontaudit_rw_scsi_generic',`
 
469
        gen_require(`
 
470
                type scsi_generic_device_t;
 
471
        ')
 
472
 
 
473
        dontaudit $1 scsi_generic_device_t:chr_file rw_file_perms;
 
474
')
 
475
 
 
476
########################################
 
477
## <summary>
 
478
##      Allow the caller to get the attributes of removable
 
479
##      devices device nodes.
 
480
## </summary>
 
481
## <param name="domain">
 
482
##      <summary>
 
483
##      The type of the process performing this action.
 
484
##      </summary>
 
485
## </param>
 
486
#
 
487
interface(`storage_getattr_removable_dev',`
 
488
        gen_require(`
 
489
                type removable_device_t;
 
490
        ')
 
491
 
 
492
        dev_list_all_dev_nodes($1)
 
493
        allow $1 removable_device_t:blk_file getattr;
 
494
')
 
495
 
 
496
########################################
 
497
## <summary>
 
498
##      Do not audit attempts made by the caller to get
 
499
##      the attributes of removable devices device nodes.
 
500
## </summary>
 
501
## <param name="domain">
 
502
##      <summary>
 
503
##      The type of the process to not audit.
 
504
##      </summary>
 
505
## </param>
 
506
#
 
507
interface(`storage_dontaudit_getattr_removable_dev',`
 
508
        gen_require(`
 
509
                type removable_device_t;
 
510
        ')
 
511
 
 
512
        dontaudit $1 removable_device_t:blk_file getattr;
 
513
')
 
514
 
 
515
########################################
 
516
## <summary>
 
517
##      Do not audit attempts made by the caller to read
 
518
##      removable devices device nodes.
 
519
## </summary>
 
520
## <param name="domain">
 
521
##      <summary>
 
522
##      The type of the process to not audit.
 
523
##      </summary>
 
524
## </param>
 
525
#
 
526
interface(`storage_dontaudit_read_removable_device',`
 
527
        gen_require(`
 
528
                type removable_device_t;
 
529
 
 
530
        ')
 
531
 
 
532
        dontaudit $1 removable_device_t:blk_file { getattr ioctl read };
 
533
')
 
534
 
 
535
########################################
 
536
## <summary>
 
537
##      Allow the caller to set the attributes of removable
 
538
##      devices device nodes.
 
539
## </summary>
 
540
## <param name="domain">
 
541
##      <summary>
 
542
##      The type of the process performing this action.
 
543
##      </summary>
 
544
## </param>
 
545
#
 
546
interface(`storage_setattr_removable_dev',`
 
547
        gen_require(`
 
548
                type removable_device_t;
 
549
        ')
 
550
 
 
551
        dev_list_all_dev_nodes($1)
 
552
        allow $1 removable_device_t:blk_file setattr;
 
553
')
 
554
 
 
555
########################################
 
556
## <summary>
 
557
##      Do not audit attempts made by the caller to set
 
558
##      the attributes of removable devices device nodes.
 
559
## </summary>
 
560
## <param name="domain">
 
561
##      <summary>
 
562
##      The type of the process to not audit.
 
563
##      </summary>
 
564
## </param>
 
565
#
 
566
interface(`storage_dontaudit_setattr_removable_dev',`
 
567
        gen_require(`
 
568
                type removable_device_t;
 
569
        ')
 
570
 
 
571
        dontaudit $1 removable_device_t:blk_file setattr;
 
572
')
 
573
 
 
574
########################################
 
575
## <summary>
 
576
##      Allow the caller to directly read from
 
577
##      a removable device.
 
578
##      This is extremly dangerous as it can bypass the
 
579
##      SELinux protections for filesystem objects, and
 
580
##      should only be used by trusted domains.
 
581
## </summary>
 
582
## <param name="domain">
 
583
##      <summary>
 
584
##      The type of the process performing this action.
 
585
##      </summary>
 
586
## </param>
 
587
#
 
588
interface(`storage_raw_read_removable_device',`
 
589
        gen_require(`
 
590
                type removable_device_t;
 
591
        ')
 
592
 
 
593
        dev_list_all_dev_nodes($1)
 
594
        allow $1 removable_device_t:blk_file read_blk_file_perms;
 
595
')
 
596
 
 
597
########################################
 
598
## <summary>
 
599
##      Do not audit attempts to directly read removable devices.
 
600
## </summary>
 
601
## <param name="domain">
 
602
##      <summary>
 
603
##      Domain to not audit.
 
604
##      </summary>
 
605
## </param>
 
606
#
 
607
interface(`storage_dontaudit_raw_read_removable_device',`
 
608
        gen_require(`
 
609
                type removable_device_t;
 
610
        ')
 
611
 
 
612
        dontaudit $1 removable_device_t:blk_file read_blk_file_perms;
 
613
')
 
614
 
 
615
########################################
 
616
## <summary>
 
617
##      Allow the caller to directly write to
 
618
##      a removable device.
 
619
##      This is extremly dangerous as it can bypass the
 
620
##      SELinux protections for filesystem objects, and
 
621
##      should only be used by trusted domains.
 
622
## </summary>
 
623
## <param name="domain">
 
624
##      <summary>
 
625
##      The type of the process performing this action.
 
626
##      </summary>
 
627
## </param>
 
628
#
 
629
interface(`storage_raw_write_removable_device',`
 
630
        gen_require(`
 
631
                type removable_device_t;
 
632
        ')
 
633
 
 
634
        dev_list_all_dev_nodes($1)
 
635
        allow $1 removable_device_t:blk_file write_blk_file_perms;
 
636
')
 
637
 
 
638
########################################
 
639
## <summary>
 
640
##      Do not audit attempts to directly write removable devices.
 
641
## </summary>
 
642
## <param name="domain">
 
643
##      <summary>
 
644
##      Domain to not audit.
 
645
##      </summary>
 
646
## </param>
 
647
#
 
648
interface(`storage_dontaudit_raw_write_removable_device',`
 
649
        gen_require(`
 
650
                type removable_device_t;
 
651
        ')
 
652
 
 
653
        dontaudit $1 removable_device_t:blk_file write_blk_file_perms;
 
654
')
 
655
 
 
656
########################################
 
657
## <summary>
 
658
##      Allow the caller to directly read
 
659
##      a tape device.
 
660
## </summary>
 
661
## <param name="domain">
 
662
##      <summary>
 
663
##      The type of the process performing this action.
 
664
##      </summary>
 
665
## </param>
 
666
#
 
667
interface(`storage_read_tape',`
 
668
        gen_require(`
 
669
                type tape_device_t;
 
670
        ')
 
671
 
 
672
        dev_list_all_dev_nodes($1)
 
673
        allow $1 tape_device_t:chr_file read_chr_file_perms;
 
674
')
 
675
 
 
676
########################################
 
677
## <summary>
 
678
##      Allow the caller to directly read
 
679
##      a tape device.
 
680
## </summary>
 
681
## <param name="domain">
 
682
##      <summary>
 
683
##      The type of the process performing this action.
 
684
##      </summary>
 
685
## </param>
 
686
#
 
687
interface(`storage_write_tape',`
 
688
        gen_require(`
 
689
                type tape_device_t;
 
690
        ')
 
691
 
 
692
        dev_list_all_dev_nodes($1)
 
693
        allow $1 tape_device_t:chr_file write_chr_file_perms;
 
694
')
 
695
 
 
696
########################################
 
697
## <summary>
 
698
##      Allow the caller to get the attributes
 
699
##      of device nodes of tape devices.
 
700
## </summary>
 
701
## <param name="domain">
 
702
##      <summary>
 
703
##      The type of the process performing this action.
 
704
##      </summary>
 
705
## </param>
 
706
#
 
707
interface(`storage_getattr_tape_dev',`
 
708
        gen_require(`
 
709
                type tape_device_t;
 
710
        ')
 
711
 
 
712
        dev_list_all_dev_nodes($1)
 
713
        allow $1 tape_device_t:chr_file getattr;
 
714
')
 
715
 
 
716
########################################
 
717
## <summary>
 
718
##      Allow the caller to set the attributes
 
719
##      of device nodes of tape devices.
 
720
## </summary>
 
721
## <param name="domain">
 
722
##      <summary>
 
723
##      The type of the process performing this action.
 
724
##      </summary>
 
725
## </param>
 
726
#
 
727
interface(`storage_setattr_tape_dev',`
 
728
        gen_require(`
 
729
                type tape_device_t;
 
730
        ')
 
731
 
 
732
        dev_list_all_dev_nodes($1)
 
733
        allow $1 tape_device_t:chr_file setattr;
 
734
')
 
735
 
 
736
########################################
 
737
## <summary>
 
738
##      Unconfined access to storage devices.
 
739
## </summary>
 
740
## <param name="domain">
 
741
##      <summary>
 
742
##      Domain allowed access.
 
743
##      </summary>
 
744
## </param>
 
745
#
 
746
interface(`storage_unconfined',`
 
747
        gen_require(`
 
748
                attribute storage_unconfined_type;
 
749
        ')
 
750
 
 
751
        typeattribute $1 storage_unconfined_type;
 
752
')