xref: /illumos-gate/usr/src/man/man8/getent.8 (revision bbf215553c7233fbab8a0afdf1fac74c44781867)
1*bbf21555SRichard Lowe.\"
2*bbf21555SRichard Lowe.\" The contents of this file are subject to the terms of the
3*bbf21555SRichard Lowe.\" Common Development and Distribution License (the "License").
4*bbf21555SRichard Lowe.\" You may not use this file except in compliance with the License.
5*bbf21555SRichard Lowe.\"
6*bbf21555SRichard Lowe.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7*bbf21555SRichard Lowe.\" or http://www.opensolaris.org/os/licensing.
8*bbf21555SRichard Lowe.\" See the License for the specific language governing permissions
9*bbf21555SRichard Lowe.\" and limitations under the License.
10*bbf21555SRichard Lowe.\"
11*bbf21555SRichard Lowe.\" When distributing Covered Code, include this CDDL HEADER in each
12*bbf21555SRichard Lowe.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
13*bbf21555SRichard Lowe.\" If applicable, add the following below this CDDL HEADER, with the
14*bbf21555SRichard Lowe.\" fields enclosed by brackets "[]" replaced with your own identifying
15*bbf21555SRichard Lowe.\" information: Portions Copyright [yyyy] [name of copyright owner]
16*bbf21555SRichard Lowe.\"
17*bbf21555SRichard Lowe.\"
18*bbf21555SRichard Lowe.\" Copyright (C) 1999, Sun Microsystems, Inc. All Rights Reserved
19*bbf21555SRichard Lowe.\" Copyright (c) 2014 Gary Mills
20*bbf21555SRichard Lowe.\" Copyright (c) 2018 Peter Tribble
21*bbf21555SRichard Lowe.\"
22*bbf21555SRichard Lowe.Dd June 17, 2021
23*bbf21555SRichard Lowe.Dt GETENT 8
24*bbf21555SRichard Lowe.Os
25*bbf21555SRichard Lowe.Sh NAME
26*bbf21555SRichard Lowe.Nm getent
27*bbf21555SRichard Lowe.Nd get entries from administrative database
28*bbf21555SRichard Lowe.Sh SYNOPSIS
29*bbf21555SRichard Lowe.Nm
30*bbf21555SRichard Lowe.Ar database
31*bbf21555SRichard Lowe.Oo Ar key Oc Ns ...
32*bbf21555SRichard Lowe.Sh DESCRIPTION
33*bbf21555SRichard Lowe.Nm
34*bbf21555SRichard Lowegets a list of entries from the administrative database specified by
35*bbf21555SRichard Lowe.Ar database .
36*bbf21555SRichard LoweThe information generally comes from one or more of the sources that are
37*bbf21555SRichard Lowespecified for the
38*bbf21555SRichard Lowe.Ar database
39*bbf21555SRichard Lowein
40*bbf21555SRichard Lowe.Pa /etc/nsswitch.conf .
41*bbf21555SRichard Lowe.Pp
42*bbf21555SRichard Lowe.Ar database
43*bbf21555SRichard Loweis the name of the database to be examined.
44*bbf21555SRichard LoweThis can be
45*bbf21555SRichard Lowe.Cm passwd ,
46*bbf21555SRichard Lowe.Cm shadow ,
47*bbf21555SRichard Lowe.Cm group ,
48*bbf21555SRichard Lowe.Cm hosts ,
49*bbf21555SRichard Lowe.Cm ipnodes ,
50*bbf21555SRichard Lowe.Cm services ,
51*bbf21555SRichard Lowe.Cm protocols ,
52*bbf21555SRichard Lowe.Cm ethers ,
53*bbf21555SRichard Lowe.Cm project ,
54*bbf21555SRichard Lowe.Cm networks ,
55*bbf21555SRichard Lowe.Cm netmasks ,
56*bbf21555SRichard Lowe.Cm auth_attr ,
57*bbf21555SRichard Lowe.Cm exec_attr ,
58*bbf21555SRichard Lowe.Cm prof_attr ,
59*bbf21555SRichard Lowe.Cm user_attr ,
60*bbf21555SRichard Loweor
61*bbf21555SRichard Lowe.Cm netgroup .
62*bbf21555SRichard LoweFor each of these databases,
63*bbf21555SRichard Lowe.Nm
64*bbf21555SRichard Loweuses the appropriate library routines described in
65*bbf21555SRichard Lowe.Xr getpwnam 3C ,
66*bbf21555SRichard Lowe.Xr getspnam 3C ,
67*bbf21555SRichard Lowe.Xr getgrnam 3C ,
68*bbf21555SRichard Lowe.Xr getnetgrent 3C ,
69*bbf21555SRichard Lowe.Xr gethostbyaddr 3NSL ,
70*bbf21555SRichard Lowe.Xr gethostbyname 3NSL ,
71*bbf21555SRichard Lowe.Xr getipnodebyaddr 3SOCKET ,
72*bbf21555SRichard Lowe.Xr getipnodebyname 3SOCKET ,
73*bbf21555SRichard Lowe.Xr getservbyname 3SOCKET ,
74*bbf21555SRichard Lowe.Xr getprotobyname 3SOCKET ,
75*bbf21555SRichard Lowe.Xr ethers 3SOCKET ,
76*bbf21555SRichard Lowe.Xr getprojbyname 3PROJECT ,
77*bbf21555SRichard Lowe.Xr getnetbyname 3SOCKET ,
78*bbf21555SRichard Lowe.Xr getauthattr 3SECDB ,
79*bbf21555SRichard Lowe.Xr getexecattr 3SECDB ,
80*bbf21555SRichard Lowe.Xr getprofattr 3SECDB ,
81*bbf21555SRichard Loweand
82*bbf21555SRichard Lowe.Xr getuserattr 3SECDB
83*bbf21555SRichard Lowerespectively.
84*bbf21555SRichard Lowe.Pp
85*bbf21555SRichard LoweEach
86*bbf21555SRichard Lowe.Ar key
87*bbf21555SRichard Lowemust be in a format appropriate for searching on the respective database.
88*bbf21555SRichard LoweFor example, it can be a username or numeric-uid for
89*bbf21555SRichard Lowe.Cm passwd ;
90*bbf21555SRichard Lowehostname or IP address for
91*bbf21555SRichard Lowe.Cm hosts ;
92*bbf21555SRichard Loweor service, service/protocol, port, or port/proto for
93*bbf21555SRichard Lowe.Cm services .
94*bbf21555SRichard Lowe.Pp
95*bbf21555SRichard Lowe.Nm
96*bbf21555SRichard Loweprints out the database entries that match each of the supplied keys, one per
97*bbf21555SRichard Loweline, in the format of the matching administrative file:
98*bbf21555SRichard Lowe.Xr passwd 5 ,
99*bbf21555SRichard Lowe.Xr shadow 5 ,
100*bbf21555SRichard Lowe.Xr group 5 ,
101*bbf21555SRichard Lowe.Xr project 5 ,
102*bbf21555SRichard Lowe.Xr hosts 5 ,
103*bbf21555SRichard Lowe.Xr services 5 ,
104*bbf21555SRichard Lowe.Xr protocols 5 ,
105*bbf21555SRichard Lowe.Xr ethers 5 ,
106*bbf21555SRichard Lowe.Xr netgroup 5 ,
107*bbf21555SRichard Lowe.Xr networks 5 ,
108*bbf21555SRichard Lowe.Xr netmasks 5 ,
109*bbf21555SRichard Lowe.Xr auth_attr 5 ,
110*bbf21555SRichard Lowe.Xr exec_attr 5 ,
111*bbf21555SRichard Lowe.Xr prof_attr 5 ,
112*bbf21555SRichard Loweor
113*bbf21555SRichard Lowe.Xr user_attr 5 .
114*bbf21555SRichard LoweIf no key is given, all entries returned by the corresponding enumeration
115*bbf21555SRichard Lowelibrary routine, for example,
116*bbf21555SRichard Lowe.Xr getpwent 3C
117*bbf21555SRichard Loweor
118*bbf21555SRichard Lowe.Xr gethostent 3NSL ,
119*bbf21555SRichard Loweare printed.
120*bbf21555SRichard LoweEnumeration is not supported on
121*bbf21555SRichard Lowe.Cm ipnodes ,
122*bbf21555SRichard Lowe.Cm ethers ,
123*bbf21555SRichard Lowe.Cm netgroup ,
124*bbf21555SRichard Loweor
125*bbf21555SRichard Lowe.Cm netmasks .
126*bbf21555SRichard Lowe.Ss Key Interpretation for passwd, group, netgroup, and user_attr Databases
127*bbf21555SRichard LoweWhen
128*bbf21555SRichard Lowe.Nm
129*bbf21555SRichard Loweis invoked with
130*bbf21555SRichard Lowe.Ar database
131*bbf21555SRichard Loweset to
132*bbf21555SRichard Lowe.Cm passwd ,
133*bbf21555SRichard Loweeach key value is processed as follows:
134*bbf21555SRichard Lowe.Bl -bullet
135*bbf21555SRichard Lowe.It
136*bbf21555SRichard LoweIf the key value consists only of numeric characters,
137*bbf21555SRichard Lowe.Nm
138*bbf21555SRichard Loweassumes that the key value is a numeric user ID and searches the
139*bbf21555SRichard Lowe.Cm passwd
140*bbf21555SRichard Lowedatabase for a matching user ID.
141*bbf21555SRichard Lowe.It
142*bbf21555SRichard LoweIf the user ID is not found in the
143*bbf21555SRichard Lowe.Cm passwd
144*bbf21555SRichard Lowedatabase or if the key value contains any non-numeric characters,
145*bbf21555SRichard Lowe.Nm
146*bbf21555SRichard Loweassumes the key value is a user name and searches the
147*bbf21555SRichard Lowe.Cm passwd
148*bbf21555SRichard Lowedatabase for a matching user name.
149*bbf21555SRichard Lowe.El
150*bbf21555SRichard Lowe.Pp
151*bbf21555SRichard LoweWhen
152*bbf21555SRichard Lowe.Nm
153*bbf21555SRichard Loweis invoked with
154*bbf21555SRichard Lowe.Ar database
155*bbf21555SRichard Loweset to
156*bbf21555SRichard Lowe.Cm group ,
157*bbf21555SRichard Loweeach key value is processed as follows:
158*bbf21555SRichard Lowe.Bl -bullet
159*bbf21555SRichard Lowe.It
160*bbf21555SRichard LoweIf the key value consists only of numeric characters,
161*bbf21555SRichard Lowe.Nm
162*bbf21555SRichard Loweassumes that the key value is a numeric group ID and searches the
163*bbf21555SRichard Lowe.Cm group
164*bbf21555SRichard Lowedatabase for a matching group ID.
165*bbf21555SRichard Lowe.It
166*bbf21555SRichard LoweIf the group ID is not found in the
167*bbf21555SRichard Lowe.Cm group
168*bbf21555SRichard Lowedatabase or if the key value contains any non-numeric characters,
169*bbf21555SRichard Lowe.Nm
170*bbf21555SRichard Loweassumes the key value is a group name and searches the
171*bbf21555SRichard Lowe.Cm group
172*bbf21555SRichard Lowedatabase for a matching group name.
173*bbf21555SRichard Lowe.El
174*bbf21555SRichard Lowe.Pp
175*bbf21555SRichard LoweWhen
176*bbf21555SRichard Lowe.Nm
177*bbf21555SRichard Loweis invoked with
178*bbf21555SRichard Lowe.Ar database
179*bbf21555SRichard Loweset to
180*bbf21555SRichard Lowe.Cm netgroup ,
181*bbf21555SRichard Loweonly a single lookup key is supported, which must be in the following format:
182*bbf21555SRichard Lowe.Bd -ragged -offset Ds
183*bbf21555SRichard Lowe.Ar netgroup Oo Ar host Ar user Ar domain Oc
184*bbf21555SRichard Lowe.Ed
185*bbf21555SRichard Lowe.Pp
186*bbf21555SRichard LoweSpecifying only the
187*bbf21555SRichard Lowe.Ar netgroup
188*bbf21555SRichard Lowename will result in entries from the selected netgroup being displayed as
189*bbf21555SRichard Lowestring triples
190*bbf21555SRichard Lowe.Pq hostname, username, domain ,
191*bbf21555SRichard Lowein a format compatible with
192*bbf21555SRichard Lowe.Xr netgroup 5 .
193*bbf21555SRichard Lowe.Pp
194*bbf21555SRichard LoweSpecifying the
195*bbf21555SRichard Lowe.Ar netgroup
196*bbf21555SRichard Lowealong with
197*bbf21555SRichard Lowe.Ar host ,
198*bbf21555SRichard Lowe.Ar user
199*bbf21555SRichard Loweand
200*bbf21555SRichard Lowe.Ar domain
201*bbf21555SRichard Lowewill filter the netgroup display based on these entries.
202*bbf21555SRichard LoweAn asterisk
203*bbf21555SRichard Lowe.Pq \&*
204*bbf21555SRichard Lowecan be used as a wildcard for the
205*bbf21555SRichard Lowe.Ar host ,
206*bbf21555SRichard Lowe.Ar user
207*bbf21555SRichard Loweor
208*bbf21555SRichard Lowe.Ar domain
209*bbf21555SRichard Lowefields.
210*bbf21555SRichard Lowe.Pp
211*bbf21555SRichard LoweSince the
212*bbf21555SRichard Lowe.Cm netgroup
213*bbf21555SRichard Lowedatabase does not support enumeration, a lookup key must always be specified.
214*bbf21555SRichard Lowe.Pp
215*bbf21555SRichard LoweWhen
216*bbf21555SRichard Lowe.Nm
217*bbf21555SRichard Loweis invoked with
218*bbf21555SRichard Lowe.Ar database
219*bbf21555SRichard Loweset to
220*bbf21555SRichard Lowe.Cm user_attr ,
221*bbf21555SRichard Loweeach key value is processed as follows:
222*bbf21555SRichard Lowe.Bl -bullet
223*bbf21555SRichard Lowe.It
224*bbf21555SRichard LoweIf the key value consists only of numeric characters,
225*bbf21555SRichard Lowe.Nm
226*bbf21555SRichard Loweassumes that the key value is a numeric user ID and searches the
227*bbf21555SRichard Lowe.Cm passwd
228*bbf21555SRichard Lowedatabase for a matching user name, which is then used as the key for
229*bbf21555SRichard Lowe.Cm user_attr .
230*bbf21555SRichard Lowe.It
231*bbf21555SRichard LoweIf the user ID is not found in the
232*bbf21555SRichard Lowe.Cm passwd
233*bbf21555SRichard Lowedatabase or if the key value contains any non-numeric characters,
234*bbf21555SRichard Lowe.Nm
235*bbf21555SRichard Loweassumes the key value is a user name and searches the
236*bbf21555SRichard Lowe.Cm user_attr
237*bbf21555SRichard Lowedatabase for a matching entry.
238*bbf21555SRichard Lowe.El
239*bbf21555SRichard Lowe.Sh FILES
240*bbf21555SRichard Lowe.Bl -tag -width Pa
241*bbf21555SRichard Lowe.It Pa /etc/nsswitch.conf
242*bbf21555SRichard Lowename service switch configuration file
243*bbf21555SRichard Lowe.It Pa /etc/passwd
244*bbf21555SRichard Lowepassword file
245*bbf21555SRichard Lowe.It Pa /etc/shadow
246*bbf21555SRichard Loweshadowed password file
247*bbf21555SRichard Lowe.It Pa /etc/group
248*bbf21555SRichard Lowegroup file
249*bbf21555SRichard Lowe.It Pa /etc/inet/hosts
250*bbf21555SRichard LoweIPv4 and IPv6 host name database
251*bbf21555SRichard Lowe.It Pa /etc/services
252*bbf21555SRichard LoweInternet services and aliases
253*bbf21555SRichard Lowe.It Pa /etc/project
254*bbf21555SRichard Loweproject file
255*bbf21555SRichard Lowe.It Pa /etc/protocols
256*bbf21555SRichard Loweprotocol name database
257*bbf21555SRichard Lowe.It Pa /etc/ethers
258*bbf21555SRichard LoweEthernet address to hostname database or domain
259*bbf21555SRichard Lowe.It Pa /etc/networks
260*bbf21555SRichard Lowenetwork name database
261*bbf21555SRichard Lowe.It Pa /etc/netmasks
262*bbf21555SRichard Lowenetwork mask database
263*bbf21555SRichard Lowe.It Pa /etc/netgroup
264*bbf21555SRichard Lowenetwork group database
265*bbf21555SRichard Lowe.It Pa /etc/user_attr
266*bbf21555SRichard Loweextended user attributes database
267*bbf21555SRichard Lowe.It Pa /etc/security/auth_attr
268*bbf21555SRichard Loweauthorization description database
269*bbf21555SRichard Lowe.It Pa /etc/security/exec_attr
270*bbf21555SRichard Loweexecution profiles database
271*bbf21555SRichard Lowe.It Pa /etc/security/prof_attr
272*bbf21555SRichard Loweprofile description database
273*bbf21555SRichard Lowe.El
274*bbf21555SRichard Lowe.Sh EXIT STATUS
275*bbf21555SRichard LoweThe following exit values are returned:
276*bbf21555SRichard Lowe.Pp
277*bbf21555SRichard Lowe.Bl -tag -width Ds -compact
278*bbf21555SRichard Lowe.It Sy 0
279*bbf21555SRichard LoweSuccessful completion.
280*bbf21555SRichard Lowe.It Sy 1
281*bbf21555SRichard LoweCommand syntax was incorrect, an invalid option was used, or an internal error
282*bbf21555SRichard Loweoccurred.
283*bbf21555SRichard Lowe.It Sy 2
284*bbf21555SRichard LoweAt least one of the specified entry names was not found in the database.
285*bbf21555SRichard Lowe.It Sy 3
286*bbf21555SRichard LoweThere is no support for enumeration on this database.
287*bbf21555SRichard Lowe.El
288*bbf21555SRichard Lowe.Sh SEE ALSO
289*bbf21555SRichard Lowe.Xr getgrnam 3C ,
290*bbf21555SRichard Lowe.Xr getnetgrent 3C ,
291*bbf21555SRichard Lowe.Xr getpwnam 3C ,
292*bbf21555SRichard Lowe.Xr getspnam 3C ,
293*bbf21555SRichard Lowe.Xr gethostbyaddr 3NSL ,
294*bbf21555SRichard Lowe.Xr gethostbyname 3NSL ,
295*bbf21555SRichard Lowe.Xr gethostent 3NSL ,
296*bbf21555SRichard Lowe.Xr getprojbyname 3PROJECT ,
297*bbf21555SRichard Lowe.Xr getauthattr 3SECDB ,
298*bbf21555SRichard Lowe.Xr getexecattr 3SECDB ,
299*bbf21555SRichard Lowe.Xr getprofattr 3SECDB ,
300*bbf21555SRichard Lowe.Xr getuserattr 3SECDB ,
301*bbf21555SRichard Lowe.Xr ethers 3SOCKET ,
302*bbf21555SRichard Lowe.Xr getipnodebyaddr 3SOCKET ,
303*bbf21555SRichard Lowe.Xr getipnodebyname 3SOCKET ,
304*bbf21555SRichard Lowe.Xr getnetbyname 3SOCKET ,
305*bbf21555SRichard Lowe.Xr getprotobyname 3SOCKET ,
306*bbf21555SRichard Lowe.Xr getservbyname 3SOCKET ,
307*bbf21555SRichard Lowe.Xr auth_attr 5 ,
308*bbf21555SRichard Lowe.Xr ethers 5 ,
309*bbf21555SRichard Lowe.Xr exec_attr 5 ,
310*bbf21555SRichard Lowe.Xr group 5 ,
311*bbf21555SRichard Lowe.Xr hosts 5 ,
312*bbf21555SRichard Lowe.Xr netmasks 5 ,
313*bbf21555SRichard Lowe.Xr networks 5 ,
314*bbf21555SRichard Lowe.Xr nsswitch.conf 5 ,
315*bbf21555SRichard Lowe.Xr passwd 5 ,
316*bbf21555SRichard Lowe.Xr prof_attr 5 ,
317*bbf21555SRichard Lowe.Xr project 5 ,
318*bbf21555SRichard Lowe.Xr protocols 5 ,
319*bbf21555SRichard Lowe.Xr services 5 ,
320*bbf21555SRichard Lowe.Xr shadow 5 ,
321*bbf21555SRichard Lowe.Xr user_attr 5 ,
322*bbf21555SRichard Lowe.Xr attributes 7
323