Correct BSD License clause numbering from 1-2-4 to 1-2-3.
[dragonfly.git] / sbin / mountd / netgroup.5
1 .\" Copyright (c) 1992, 1993
2 .\"     The Regents of the University of California.  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 the University nor the names of its contributors
13 .\"    may be used to endorse or promote products derived from this software
14 .\"    without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND 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 THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR 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, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\"     @(#)netgroup.5  8.2 (Berkeley) 12/11/93
29 .\" $FreeBSD: src/sbin/mountd/netgroup.5,v 1.10.2.2 2001/07/22 11:32:30 dd Exp $
30 .\" $DragonFly: src/sbin/mountd/netgroup.5,v 1.4 2006/02/17 19:33:33 swildner Exp $
31 .\"
32 .Dd December 11, 1993
33 .Dt NETGROUP 5
34 .Os
35 .Sh NAME
36 .Nm netgroup
37 .Nd defines network groups
38 .Sh SYNOPSIS
39 .Nm
40 .Sh DESCRIPTION
41 The
42 .Nm
43 file
44 specifies ``netgroups'', which are sets of
45 .Sy (host, user, domain)
46 tuples that are to be given similar network access.
47 .Pp
48 Each line in the file
49 consists of a netgroup name followed by a list of the members of the
50 netgroup.
51 Each member can be either the name of another netgroup or a specification
52 of a tuple as follows:
53 .Bd -literal -offset indent
54 (host, user, domain)
55 .Ed
56 .Pp
57 where the
58 .Sy host ,
59 .Sy user ,
60 and
61 .Sy domain
62 are character string names for the corresponding component.
63 Any of the comma separated fields may be empty to specify a ``wildcard'' value
64 or may consist of the string ``-'' to specify ``no valid value''.
65 The members of the list may be separated by whitespace and/or commas;
66 the ``\e'' character may be used at the end of a line to specify
67 line continuation.
68 Lines are limited to 1024 characters.
69 The functions specified in
70 .Xr getnetgrent 3
71 should normally be used to access the
72 .Nm
73 database.
74 .Pp
75 Lines that begin with a # are treated as comments.
76 .Sh NIS/YP INTERACTION
77 On most other platforms,
78 .Nm Ns s
79 are only used in conjunction with
80 .Tn NIS
81 and local
82 .Pa /etc/netgroup
83 files are ignored.
84 With
85 .Dx ,
86 .Nm Ns s
87 can be used with either
88 .Tn NIS
89 or local files, but there are certain
90 caveats to consider.
91 The existing
92 .Nm
93 system is extremely inefficient where
94 .Fn innetgr 3
95 lookups are concerned since
96 .Nm
97 memberships are computed on the fly.
98 By contrast, the
99 .Tn NIS
100 .Nm
101 database consists of three separate maps (netgroup, netgroup.byuser
102 and netgroup.byhost) that are keyed to allow
103 .Fn innetgr 3
104 lookups to be done quickly.
105 The
106 .Dx
107 .Nm
108 system can interact with the
109 .Tn NIS
110 .Nm
111 maps in the following ways:
112 .Bl -bullet -offset indent
113 .It
114 If the
115 .Pa /etc/netgroup
116 file does not exist, or it exists and is empty, or
117 it exists and contains only a
118 .Sq + ,
119 and
120 .Tn NIS
121 is running,
122 .Nm
123 lookups will be done exclusively through
124 .Tn NIS ,
125 with
126 .Fn innetgr 3
127 taking advantage of the netgroup.byuser and
128 netgroup.byhost maps to speed up searches.
129 (This
130 is more or less compatible with the behavior of SunOS and
131 similar platforms.)
132 .It
133 If the
134 .Pa /etc/netgroup
135 exists and contains only local
136 .Nm
137 information (with no
138 .Tn NIS
139 .Sq +
140 token), then only the local
141 .Nm
142 information will be processed (and
143 .Tn NIS
144 will be ignored).
145 .It
146 If
147 .Pa /etc/netgroup
148 exists and contains both local netgroup data
149 .Pa and
150 the
151 .Tn NIS
152 .Sq +
153 token, the local data and the
154 .Tn NIS
155 netgroup
156 map will be processed as a single combined
157 .Nm
158 database.
159 While this configuration is the most flexible, it
160 is also the least efficient: in particular,
161 .Fn innetgr 3
162 lookups will be especially slow if the
163 database is large.
164 .El
165 .Sh FILES
166 .Bl -tag -width /etc/netgroup -compact
167 .It Pa /etc/netgroup
168 the netgroup database
169 .El
170 .Sh COMPATIBILITY
171 The file format is compatible with that of various vendors, however it
172 appears that not all vendors use an identical format.
173 .Sh SEE ALSO
174 .Xr getnetgrent 3 ,
175 .Xr exports 5
176 .Sh BUGS
177 The interpretation of access restrictions based on the member tuples of a
178 netgroup is left up to the various network applications.
179 Also, it is not obvious how the domain specification
180 applies to the
181 .Bx
182 environment.
183 .Pp
184 The
185 .Nm
186 database should be stored in the form of a
187 hashed
188 .Xr db 3
189 database just like the
190 .Xr passwd 5
191 database to speed up reverse lookups.