1sediff(1) General Commands Manual sediff(1)
2
3
4
6 sediff - SELinux policy difference tool
7
9 sediff [OPTIONS] [EXPRESSION] ORIGINAL_POLICY ; MODIFIED_POLICY
10
12 sediff allows the user to inspect the semantic differences between two
13 SELinux policies.
14
16 sediff supports loading SELinux policies in one of four formats.
17
18 source A single text file containing policy source for versions 12
19 through 21. This file is usually named policy.conf.
20
21 binary A single file containing a monolithic kernel binary policy for
22 versions 15 through 21. This file is usually named by version -
23 for example, policy.20.
24
25 modular
26 A list of policy packages each containing a loadable policy mod‐
27 ule. The first module listed must be a base module.
28
29 policy list
30 A single text file containing all the information needed to load
31 a policy, usually exported by SETools graphical utilities.
32
33 Policies do not need to be the same format. If not provided sediff will
34 print an error message and exit.
35
37 The user may specify an expression listing the policy elements to dif‐
38 ferentiate. If not provided, all supported policy elements are exam‐
39 ined.
40
41 -c, --class
42 Find differences in permissions assigned to object classes and
43 common permission sets.
44
45 --level
46 Find differences in categories authorized for MLS levels.
47
48 --category
49 Find differences in category definitions.
50
51 -t, --type
52 Find differences in attributes associated with types.
53
54 -a, --attribute
55 Find differences in types assigned to attributes.
56
57 -r, --role
58 Find differences in types authorized for roles.
59
60 -u, --user
61 Find differences in roles authorized for users.
62
63 -b, --bool
64 Find differences in the default values of booleans.
65
66 -A, --avrule
67 Find differences in access vector rules. These rules are allow,
68 neverallow, auditallow, and dontaudit rules.
69
70 -T, --terules
71 Find differences in type enforcement rules. These rules are
72 type_transition, type_member, and type_change rules.
73
74 --role_trans
75 Find differences in role_transition rules. This includes dif‐
76 ferences in the default role.
77
78 --role_allows
79 Find differences in role allow rules.
80
81 --range_trans
82 Find differences in range_transition rules. This includes dif‐
83 ferences in the target MLS range.
84
86 -q, --quiet
87 If there are no differences for elements of a given kind, sup‐
88 press status output for that kind of element.
89
90 --stats
91 Print difference statistics only.
92
93 -h, --help
94 Print help information and exit.
95
96 -V, --version
97 Print version information and exit.
98
100 sediff categorizes differences in policy elements into one of three
101 forms.
102
103 added The element exists only in the modified policy.
104
105 removed
106 The element exists only in the original policy.
107
108 modified
109 The element exists in both policies but its semantic
110 meaning has changed. For example, a class is modified if
111 one or more permissions are added or removed.
112
113 For all rules with types as their source or target, two additional
114 forms of difference are recognized. This helps distinguish differences
115 due to new types from differences in rules for existing types.
116
117 added, new type
118 The rule exists only in the modified policy; furthermore,
119 one or more of the types in the rule do not exist in the
120 original policy.
121
122 removed, missing type
123 The rule exists only in the original policy; furthermore,
124 one or more of the types in the rule do not exist in the
125 modified policy.
126
128 Most shells interpret the semicolon as a metacharacter, thus requiring
129 a backslash like so: sediff original.policy \; modified.policy
130
132 This manual page was written by Jeremy A. Mowery <jmowery@tresys.com>.
133
135 Copyright(C) 2004-2007 Tresys Technology, LLC
136
138 Please report bugs via an email to setools-bugs@tresys.com.
139
141 sediffx(1)
142
143
144
145 sediff(1)