1.\" Copyright (c) 2004 Apple Inc.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1.  Redistributions of source code must retain the above copyright
8.\"     notice, this list of conditions and the following disclaimer.
9.\" 2.  Redistributions in binary form must reproduce the above copyright
10.\"     notice, this list of conditions and the following disclaimer in the
11.\"     documentation and/or other materials provided with the distribution.
12.\" 3.  Neither the name of Apple Inc. ("Apple") nor the names of
13.\"     its contributors may be used to endorse or promote products derived
14.\"     from this software without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR
20.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26.\" POSSIBILITY OF SUCH DAMAGE.
27.\"
28.Dd February 20, 2020
29.Dt AUDITREDUCE 1
30.Os
31.Sh NAME
32.Nm auditreduce
33.Nd "select records from audit trail files"
34.Sh SYNOPSIS
35.Nm
36.Op Fl A
37.Op Fl a Ar YYYYMMDD Ns Op Ar HH Ns Op Ar MM Ns Op Ar SS
38.Op Fl b Ar YYYYMMDD Ns Op Ar HH Ns Op Ar MM Ns Op Ar SS
39.Op Fl c Ar flags
40.Op Fl d Ar YYYYMMDD
41.Op Fl e Ar euid
42.Op Fl f Ar egid
43.Op Fl g Ar rgid
44.Op Fl j Ar id
45.Op Fl m Ar event
46.Op Fl o Ar object Ns = Ns Ar value
47.Op Fl r Ar ruid
48.Op Fl u Ar auid
49.Op Fl v
50.Op Fl z Ar zone
51.Op Ar
52.Sh DESCRIPTION
53The
54.Nm
55utility selects records from the audit trail files based on the specified
56criteria.
57Matching audit records are printed to the standard output in
58their raw binary form.
59If no
60.Ar file
61argument is specified, the standard input is used
62by default.
63Use the
64.Xr praudit 1
65utility to print the selected audit records in human-readable form.
66.Pp
67The options are as follows:
68.Bl -tag -width indent
69.It Fl A
70Select all records.
71.It Fl a Ar YYYYMMDD Ns Op Ar HH Ns Op Ar MM Ns Op Ar SS
72Select records that occurred after or on the given datetime.
73.It Fl b Ar YYYYMMDD Ns Op Ar HH Ns Op Ar MM Ns Op Ar SS
74Select records that occurred before the given datetime.
75.It Fl c Ar flags
76Select records matching the given audit classes specified as a comma
77separated list of audit flags.
78See
79.Xr audit_control 5
80for a description of audit flags.
81.It Fl d Ar YYYYMMDD
82Select records that occurred on a given date.
83This option cannot be used with
84.Fl a
85or
86.Fl b .
87.It Fl e Ar euid
88Select records with the given effective user ID or name.
89.It Fl f Ar egid
90Select records with the given effective group ID or name.
91.It Fl g Ar rgid
92Select records with the given real group ID or name.
93.It Fl j Ar id
94Select records having a subject token with matching ID, where ID is a process ID.
95.It Fl m Ar event
96Select records with the given event name or number. This option can
97be used more then once to select records of multiple event types.
98See
99.Xr audit_event 5
100for a description of audit event names and numbers.
101.It Fl o Ar object Ns = Ns Ar value
102.Bl -tag -width ".Cm msgqid"
103.It Cm file
104Select records containing path tokens, where the pathname matches
105one of the comma delimited extended regular expression contained in
106given specification.
107Regular expressions which are prefixed with a tilde
108.Pq Ql ~
109are excluded
110from the search results.
111These extended regular expressions are processed from left to right,
112and a path will either be selected or deslected based on the first match.
113.Pp
114Since commas are used to delimit the regular expressions, a backslash
115.Pq Ql \e
116character should be used to escape the comma if it is a part of the search
117pattern.
118.It Cm msgqid
119Select records containing the given message queue ID.
120.It Cm pid
121Select records containing the given process ID.
122.It Cm semid
123Select records containing the given semaphore ID.
124.It Cm shmid
125Select records containing the given shared memory ID.
126.El
127.It Fl r Ar ruid
128Select records with the given real user ID or name.
129.It Fl u Ar auid
130Select records with the given audit ID.
131.It Fl v
132Invert sense of matching, to select records that do not match.
133.It Fl z Ar zone
134Select records from the given zone(s).
135.Ar zone
136is a glob for zones to match.
137.El
138.Sh EXAMPLES
139To select all records associated with effective user ID root from the audit
140log
141.Pa /var/audit/20031016184719.20031017122634 :
142.Bd -literal -offset indent
143auditreduce -e root \e
144    /var/audit/20031016184719.20031017122634
145.Ed
146.Pp
147To select all
148.Xr setlogin 2
149events from that log:
150.Bd -literal -offset indent
151auditreduce -m AUE_SETLOGIN \e
152    /var/audit/20031016184719.20031017122634
153.Ed
154.Pp
155Output from the above command lines will typically be piped to a new trail
156file, or via standard output to the
157.Xr praudit 1
158command.
159.Pp
160Select all records containing a path token where the pathname contains
161.Pa /etc/master.passwd :
162.Bd -literal -offset indent
163auditreduce -o file="/etc/master.passwd" \e
164    /var/audit/20031016184719.20031017122634
165.Ed
166.Pp
167Select all records containing path tokens, where the pathname is a TTY
168device:
169.Bd -literal -offset indent
170auditreduce -o file="/dev/tty[a-zA-Z][0-9]+" \e
171    /var/audit/20031016184719.20031017122634
172.Ed
173.Pp
174Select all records containing path tokens, where the pathname is a TTY
175except for
176.Pa /dev/ttyp2 :
177.Bd -literal -offset indent
178auditreduce -o file="~/dev/ttyp2,/dev/tty[a-zA-Z][0-9]+" \e
179    /var/audit/20031016184719.20031017122634
180.Ed
181.Sh SEE ALSO
182.Xr praudit 1 ,
183.Xr audit_control 5 ,
184.Xr audit_event 5
185.Sh HISTORY
186The OpenBSM implementation was created by McAfee Research, the security
187division of McAfee Inc., under contract to Apple Computer Inc.\& in 2004.
188It was subsequently adopted by the TrustedBSD Project as the foundation for
189the OpenBSM distribution.
190.Sh AUTHORS
191.An -nosplit
192This software was created by McAfee Research, the security research division
193of McAfee, Inc., under contract to Apple Computer Inc.
194Additional authors include
195.An Wayne Salamon ,
196.An Robert Watson ,
197and SPARTA Inc.
198.Pp
199The Basic Security Module (BSM) interface to audit records and audit event
200stream format were defined by Sun Microsystems.
201