ota: Merge One True Awk 20250116 bsd-feature 2dce54b053d4
[freebsd/src.git] / libexec / revnetgroup / revnetgroup.8
blobea22486e16dad113e9b25367a03ee872e60ce5e9
1 .\" Copyright (c) 1995
2 .\"     Bill Paul <wpaul@ctr.columbia.edu>.  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. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by Bill Paul.
15 .\" 4. Neither the name of the University nor the names of its contributors
16 .\"    may be used to endorse or promote products derived from this software
17 .\"    without specific prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
20 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 .\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE
23 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" SUCH DAMAGE.
30 .\"
31 .Dd October 24, 1995
32 .Dt REVNETGROUP 8
33 .Os
34 .Sh NAME
35 .Nm revnetgroup
36 .Nd "generate reverse netgroup data"
37 .Sh SYNOPSIS
38 .Nm
39 .Fl u | h
40 .Op Fl f Ar netgroup_file
41 .Sh DESCRIPTION
42 The
43 .Nm
44 utility processes the contents of a file in
45 .Xr netgroup 5
46 format into what is called
47 .Pa reverse netgroup
48 form.
49 That is, where the original file shows
50 netgroup memberships in terms of which members reside in a particular
51 group, the reverse netgroup format specifies what groups are associated
52 with a particular member.
53 This information is used to generate the
54 .Pa netgroup.byuser
55 and
56 .Pa netgroup.byhost
57 .Tn NIS
58 maps.
59 These reverse netgroup maps are used to help speed up
60 netgroup lookups, particularly for the
61 .Fn innetgr
62 library function.
63 .Pp
64 For example, the standard
65 .Pa /etc/netgroup
66 file may list a netgroup and a list of its members.
67 Here, the
68 netgroup is considered the
69 .Em key
70 and the member names are the
71 .Em data .
72 By contrast, the reverse
73 .Pa netgroup.byuser
74 database lists each unique
75 member as the key and the netgroups to which the members belong become
76 the data.
77 Separate databases are created to hold information pertaining
78 to users and hosts; this allows netgroup username lookups
79 and netgroup hostname lookups to be performed using independent keyspaces.
80 .Pp
81 By constructing these reverse netgroup databases (and the corresponding
82 .Tn NIS
83 maps) in advance, the
84 .Xr getnetgrent 3
85 library functions are spared from having to work out the dependencies
86 themselves on the fly.
87 This is important on networks with large numbers
88 of users and hosts, since it can take a considerable amount of time
89 to process very large netgroup databases.
90 .Pp
91 The
92 .Nm
93 utility prints its results on the standard output.
94 It is usually called
95 only by
96 .Pa /var/yp/Makefile
97 when rebuilding the
98 .Tn NIS
99 netgroup maps.
100 .Sh OPTIONS
103 utility supports the following options:
104 .Bl -tag -width indent
105 .It Fl u
106 Generate
107 .Pa netgroup.byuser
108 output; only username information in the
109 original netgroup file is processed.
110 .It Fl h
111 Generate
112 .Pa netgroup.byhost
113 output; only hostname information in the
114 original netgroup file is processed.
115 (Note at least one of the
116 .Fl u
118 .Fl h
119 flags must be specified.)
120 .It Op Fl f Ar netgroup_file
123 utility uses
124 .Pa /etc/netgroup
125 as its default input file.
127 .Fl f
128 flag allows the user to specify an alternate input file.
129 Specifying ``-''
130 as the input file causes
132 to read from the standard input.
134 .Sh FILES
135 .Bl -tag -width /var/yp/Makefile -compact
136 .It Pa /var/yp/Makefile
137 the Makefile that calls
138 .Nm yp_mkdb
141 to build the
142 .Tn NIS
143 databases
144 .It Pa /etc/netgroup
145 the default netgroup database file.
146 This file is most often found
147 only on the
148 .Tn NIS
149 master server
151 .Sh SEE ALSO
152 .Xr getnetgrent 3 ,
153 .Xr netgroup 5 ,
154 .Xr yp 8 ,
155 .Xr yp_mkdb 8
156 .Sh AUTHORS
157 .An Bill Paul Aq Mt wpaul@ctr.columbia.edu