1e5ecfaa0SPeter Tribble.\" 2e5ecfaa0SPeter Tribble.\" The contents of this file are subject to the terms of the 3e5ecfaa0SPeter Tribble.\" Common Development and Distribution License (the "License"). 4e5ecfaa0SPeter Tribble.\" You may not use this file except in compliance with the License. 5e5ecfaa0SPeter Tribble.\" 6e5ecfaa0SPeter Tribble.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 7e5ecfaa0SPeter Tribble.\" or http://www.opensolaris.org/os/licensing. 8e5ecfaa0SPeter Tribble.\" See the License for the specific language governing permissions 9e5ecfaa0SPeter Tribble.\" and limitations under the License. 10e5ecfaa0SPeter Tribble.\" 11e5ecfaa0SPeter Tribble.\" When distributing Covered Code, include this CDDL HEADER in each 12e5ecfaa0SPeter Tribble.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 13e5ecfaa0SPeter Tribble.\" If applicable, add the following below this CDDL HEADER, with the 14e5ecfaa0SPeter Tribble.\" fields enclosed by brackets "[]" replaced with your own identifying 15e5ecfaa0SPeter Tribble.\" information: Portions Copyright [yyyy] [name of copyright owner] 16e5ecfaa0SPeter Tribble.\" 17e5ecfaa0SPeter Tribble.\" 18c10c16deSRichard Lowe.\" Copyright (C) 1999, Sun Microsystems, Inc. All Rights Reserved 19e5ecfaa0SPeter Tribble.\" Copyright (c) 2014 Gary Mills 20e5ecfaa0SPeter Tribble.\" Copyright (c) 2018 Peter Tribble 21e5ecfaa0SPeter Tribble.\" 2274e12c43SGordon Ross.Dd June 17, 2021 23*bbf21555SRichard Lowe.Dt GETENT 8 24e5ecfaa0SPeter Tribble.Os 25e5ecfaa0SPeter Tribble.Sh NAME 26e5ecfaa0SPeter Tribble.Nm getent 27e5ecfaa0SPeter Tribble.Nd get entries from administrative database 28e5ecfaa0SPeter Tribble.Sh SYNOPSIS 29e5ecfaa0SPeter Tribble.Nm 30e5ecfaa0SPeter Tribble.Ar database 31e5ecfaa0SPeter Tribble.Oo Ar key Oc Ns ... 32e5ecfaa0SPeter Tribble.Sh DESCRIPTION 33e5ecfaa0SPeter Tribble.Nm 34e5ecfaa0SPeter Tribblegets a list of entries from the administrative database specified by 35e5ecfaa0SPeter Tribble.Ar database . 36e5ecfaa0SPeter TribbleThe information generally comes from one or more of the sources that are 37e5ecfaa0SPeter Tribblespecified for the 38e5ecfaa0SPeter Tribble.Ar database 39e5ecfaa0SPeter Tribblein 40e5ecfaa0SPeter Tribble.Pa /etc/nsswitch.conf . 41e5ecfaa0SPeter Tribble.Pp 42e5ecfaa0SPeter Tribble.Ar database 43e5ecfaa0SPeter Tribbleis the name of the database to be examined. 44e5ecfaa0SPeter TribbleThis can be 45e5ecfaa0SPeter Tribble.Cm passwd , 46e5ecfaa0SPeter Tribble.Cm shadow , 47e5ecfaa0SPeter Tribble.Cm group , 48e5ecfaa0SPeter Tribble.Cm hosts , 49e5ecfaa0SPeter Tribble.Cm ipnodes , 50e5ecfaa0SPeter Tribble.Cm services , 51e5ecfaa0SPeter Tribble.Cm protocols , 52e5ecfaa0SPeter Tribble.Cm ethers , 53e5ecfaa0SPeter Tribble.Cm project , 54e5ecfaa0SPeter Tribble.Cm networks , 55e5ecfaa0SPeter Tribble.Cm netmasks , 56e5ecfaa0SPeter Tribble.Cm auth_attr , 57e5ecfaa0SPeter Tribble.Cm exec_attr , 58e5ecfaa0SPeter Tribble.Cm prof_attr , 5974e12c43SGordon Ross.Cm user_attr , 60e5ecfaa0SPeter Tribbleor 6174e12c43SGordon Ross.Cm netgroup . 62e5ecfaa0SPeter TribbleFor each of these databases, 63e5ecfaa0SPeter Tribble.Nm 64e5ecfaa0SPeter Tribbleuses the appropriate library routines described in 65e5ecfaa0SPeter Tribble.Xr getpwnam 3C , 66e5ecfaa0SPeter Tribble.Xr getspnam 3C , 67e5ecfaa0SPeter Tribble.Xr getgrnam 3C , 6874e12c43SGordon Ross.Xr getnetgrent 3C , 69e5ecfaa0SPeter Tribble.Xr gethostbyaddr 3NSL , 70e5ecfaa0SPeter Tribble.Xr gethostbyname 3NSL , 71e5ecfaa0SPeter Tribble.Xr getipnodebyaddr 3SOCKET , 72e5ecfaa0SPeter Tribble.Xr getipnodebyname 3SOCKET , 73e5ecfaa0SPeter Tribble.Xr getservbyname 3SOCKET , 74e5ecfaa0SPeter Tribble.Xr getprotobyname 3SOCKET , 75e5ecfaa0SPeter Tribble.Xr ethers 3SOCKET , 76e5ecfaa0SPeter Tribble.Xr getprojbyname 3PROJECT , 77e5ecfaa0SPeter Tribble.Xr getnetbyname 3SOCKET , 78e5ecfaa0SPeter Tribble.Xr getauthattr 3SECDB , 79e5ecfaa0SPeter Tribble.Xr getexecattr 3SECDB , 80e5ecfaa0SPeter Tribble.Xr getprofattr 3SECDB , 81e5ecfaa0SPeter Tribbleand 82e5ecfaa0SPeter Tribble.Xr getuserattr 3SECDB 83e5ecfaa0SPeter Tribblerespectively. 84e5ecfaa0SPeter Tribble.Pp 85e5ecfaa0SPeter TribbleEach 86e5ecfaa0SPeter Tribble.Ar key 87e5ecfaa0SPeter Tribblemust be in a format appropriate for searching on the respective database. 88e5ecfaa0SPeter TribbleFor example, it can be a username or numeric-uid for 89e5ecfaa0SPeter Tribble.Cm passwd ; 90e5ecfaa0SPeter Tribblehostname or IP address for 91e5ecfaa0SPeter Tribble.Cm hosts ; 92e5ecfaa0SPeter Tribbleor service, service/protocol, port, or port/proto for 93e5ecfaa0SPeter Tribble.Cm services . 94e5ecfaa0SPeter Tribble.Pp 95e5ecfaa0SPeter Tribble.Nm 96e5ecfaa0SPeter Tribbleprints out the database entries that match each of the supplied keys, one per 97e5ecfaa0SPeter Tribbleline, 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 , 112e5ecfaa0SPeter Tribbleor 113*bbf21555SRichard Lowe.Xr user_attr 5 . 114e5ecfaa0SPeter TribbleIf no key is given, all entries returned by the corresponding enumeration 115e5ecfaa0SPeter Tribblelibrary routine, for example, 116e5ecfaa0SPeter Tribble.Xr getpwent 3C 117e5ecfaa0SPeter Tribbleor 118e5ecfaa0SPeter Tribble.Xr gethostent 3NSL , 119e5ecfaa0SPeter Tribbleare printed. 120e5ecfaa0SPeter TribbleEnumeration is not supported on 121e5ecfaa0SPeter Tribble.Cm ipnodes , 122e5ecfaa0SPeter Tribble.Cm ethers , 12374e12c43SGordon Ross.Cm netgroup , 124e5ecfaa0SPeter Tribbleor 125e5ecfaa0SPeter Tribble.Cm netmasks . 12674e12c43SGordon Ross.Ss Key Interpretation for passwd, group, netgroup, and user_attr Databases 127e5ecfaa0SPeter TribbleWhen 128e5ecfaa0SPeter Tribble.Nm 129e5ecfaa0SPeter Tribbleis invoked with 130e5ecfaa0SPeter Tribble.Ar database 131e5ecfaa0SPeter Tribbleset to 132e5ecfaa0SPeter Tribble.Cm passwd , 133e5ecfaa0SPeter Tribbleeach key value is processed as follows: 134e5ecfaa0SPeter Tribble.Bl -bullet 135e5ecfaa0SPeter Tribble.It 136e5ecfaa0SPeter TribbleIf the key value consists only of numeric characters, 137e5ecfaa0SPeter Tribble.Nm 138e5ecfaa0SPeter Tribbleassumes that the key value is a numeric user ID and searches the 139e5ecfaa0SPeter Tribble.Cm passwd 140e5ecfaa0SPeter Tribbledatabase for a matching user ID. 141e5ecfaa0SPeter Tribble.It 142e5ecfaa0SPeter TribbleIf the user ID is not found in the 143e5ecfaa0SPeter Tribble.Cm passwd 144e5ecfaa0SPeter Tribbledatabase or if the key value contains any non-numeric characters, 145e5ecfaa0SPeter Tribble.Nm 146e5ecfaa0SPeter Tribbleassumes the key value is a user name and searches the 147e5ecfaa0SPeter Tribble.Cm passwd 148e5ecfaa0SPeter Tribbledatabase for a matching user name. 149e5ecfaa0SPeter Tribble.El 150e5ecfaa0SPeter Tribble.Pp 151e5ecfaa0SPeter TribbleWhen 152e5ecfaa0SPeter Tribble.Nm 153e5ecfaa0SPeter Tribbleis invoked with 154e5ecfaa0SPeter Tribble.Ar database 155e5ecfaa0SPeter Tribbleset to 156e5ecfaa0SPeter Tribble.Cm group , 157e5ecfaa0SPeter Tribbleeach key value is processed as follows: 158e5ecfaa0SPeter Tribble.Bl -bullet 159e5ecfaa0SPeter Tribble.It 160e5ecfaa0SPeter TribbleIf the key value consists only of numeric characters, 161e5ecfaa0SPeter Tribble.Nm 162e5ecfaa0SPeter Tribbleassumes that the key value is a numeric group ID and searches the 163e5ecfaa0SPeter Tribble.Cm group 164e5ecfaa0SPeter Tribbledatabase for a matching group ID. 165e5ecfaa0SPeter Tribble.It 166e5ecfaa0SPeter TribbleIf the group ID is not found in the 167e5ecfaa0SPeter Tribble.Cm group 168e5ecfaa0SPeter Tribbledatabase or if the key value contains any non-numeric characters, 169e5ecfaa0SPeter Tribble.Nm 170e5ecfaa0SPeter Tribbleassumes the key value is a group name and searches the 171e5ecfaa0SPeter Tribble.Cm group 172e5ecfaa0SPeter Tribbledatabase for a matching group name. 173e5ecfaa0SPeter Tribble.El 174e5ecfaa0SPeter Tribble.Pp 175e5ecfaa0SPeter TribbleWhen 176e5ecfaa0SPeter Tribble.Nm 177e5ecfaa0SPeter Tribbleis invoked with 178e5ecfaa0SPeter Tribble.Ar database 179e5ecfaa0SPeter Tribbleset to 18074e12c43SGordon Ross.Cm netgroup , 18174e12c43SGordon Rossonly a single lookup key is supported, which must be in the following format: 18274e12c43SGordon Ross.Bd -ragged -offset Ds 18374e12c43SGordon Ross.Ar netgroup Oo Ar host Ar user Ar domain Oc 18474e12c43SGordon Ross.Ed 18574e12c43SGordon Ross.Pp 18674e12c43SGordon RossSpecifying only the 18774e12c43SGordon Ross.Ar netgroup 18874e12c43SGordon Rossname will result in entries from the selected netgroup being displayed as 18974e12c43SGordon Rossstring triples 19074e12c43SGordon Ross.Pq hostname, username, domain , 19174e12c43SGordon Rossin a format compatible with 192*bbf21555SRichard Lowe.Xr netgroup 5 . 19374e12c43SGordon Ross.Pp 19474e12c43SGordon RossSpecifying the 19574e12c43SGordon Ross.Ar netgroup 19674e12c43SGordon Rossalong with 19774e12c43SGordon Ross.Ar host , 19874e12c43SGordon Ross.Ar user 19974e12c43SGordon Rossand 20074e12c43SGordon Ross.Ar domain 20174e12c43SGordon Rosswill filter the netgroup display based on these entries. 20274e12c43SGordon RossAn asterisk 20374e12c43SGordon Ross.Pq \&* 20474e12c43SGordon Rosscan be used as a wildcard for the 20574e12c43SGordon Ross.Ar host , 20674e12c43SGordon Ross.Ar user 20774e12c43SGordon Rossor 20874e12c43SGordon Ross.Ar domain 20974e12c43SGordon Rossfields. 21074e12c43SGordon Ross.Pp 21174e12c43SGordon RossSince the 21274e12c43SGordon Ross.Cm netgroup 21374e12c43SGordon Rossdatabase does not support enumeration, a lookup key must always be specified. 21474e12c43SGordon Ross.Pp 21574e12c43SGordon RossWhen 21674e12c43SGordon Ross.Nm 21774e12c43SGordon Rossis invoked with 21874e12c43SGordon Ross.Ar database 21974e12c43SGordon Rossset to 220e5ecfaa0SPeter Tribble.Cm user_attr , 221e5ecfaa0SPeter Tribbleeach key value is processed as follows: 222e5ecfaa0SPeter Tribble.Bl -bullet 223e5ecfaa0SPeter Tribble.It 224e5ecfaa0SPeter TribbleIf the key value consists only of numeric characters, 225e5ecfaa0SPeter Tribble.Nm 226e5ecfaa0SPeter Tribbleassumes that the key value is a numeric user ID and searches the 227e5ecfaa0SPeter Tribble.Cm passwd 228e5ecfaa0SPeter Tribbledatabase for a matching user name, which is then used as the key for 229e5ecfaa0SPeter Tribble.Cm user_attr . 230e5ecfaa0SPeter Tribble.It 231e5ecfaa0SPeter TribbleIf the user ID is not found in the 232e5ecfaa0SPeter Tribble.Cm passwd 233e5ecfaa0SPeter Tribbledatabase or if the key value contains any non-numeric characters, 234e5ecfaa0SPeter Tribble.Nm 235e5ecfaa0SPeter Tribbleassumes the key value is a user name and searches the 236e5ecfaa0SPeter Tribble.Cm user_attr 237e5ecfaa0SPeter Tribbledatabase for a matching entry. 238e5ecfaa0SPeter Tribble.El 239e5ecfaa0SPeter Tribble.Sh FILES 240e5ecfaa0SPeter Tribble.Bl -tag -width Pa 241e5ecfaa0SPeter Tribble.It Pa /etc/nsswitch.conf 242c10c16deSRichard Lowename service switch configuration file 243e5ecfaa0SPeter Tribble.It Pa /etc/passwd 244c10c16deSRichard Lowepassword file 245e5ecfaa0SPeter Tribble.It Pa /etc/shadow 24600277c9eSGary Millsshadowed password file 247e5ecfaa0SPeter Tribble.It Pa /etc/group 248c10c16deSRichard Lowegroup file 249e5ecfaa0SPeter Tribble.It Pa /etc/inet/hosts 250c10c16deSRichard LoweIPv4 and IPv6 host name database 251e5ecfaa0SPeter Tribble.It Pa /etc/services 252c10c16deSRichard LoweInternet services and aliases 253e5ecfaa0SPeter Tribble.It Pa /etc/project 254c10c16deSRichard Loweproject file 255e5ecfaa0SPeter Tribble.It Pa /etc/protocols 256c10c16deSRichard Loweprotocol name database 257e5ecfaa0SPeter Tribble.It Pa /etc/ethers 258c10c16deSRichard LoweEthernet address to hostname database or domain 259e5ecfaa0SPeter Tribble.It Pa /etc/networks 260c10c16deSRichard Lowenetwork name database 261e5ecfaa0SPeter Tribble.It Pa /etc/netmasks 262c10c16deSRichard Lowenetwork mask database 26374e12c43SGordon Ross.It Pa /etc/netgroup 26474e12c43SGordon Rossnetwork group database 265e5ecfaa0SPeter Tribble.It Pa /etc/user_attr 266e5ecfaa0SPeter Tribbleextended user attributes database 267e5ecfaa0SPeter Tribble.It Pa /etc/security/auth_attr 268e5ecfaa0SPeter Tribbleauthorization description database 269e5ecfaa0SPeter Tribble.It Pa /etc/security/exec_attr 270e5ecfaa0SPeter Tribbleexecution profiles database 271e5ecfaa0SPeter Tribble.It Pa /etc/security/prof_attr 272e5ecfaa0SPeter Tribbleprofile description database 273e5ecfaa0SPeter Tribble.El 274e5ecfaa0SPeter Tribble.Sh EXIT STATUS 275e5ecfaa0SPeter TribbleThe following exit values are returned: 276e5ecfaa0SPeter Tribble.Pp 277e5ecfaa0SPeter Tribble.Bl -tag -width Ds -compact 278e5ecfaa0SPeter Tribble.It Sy 0 279e5ecfaa0SPeter TribbleSuccessful completion. 280e5ecfaa0SPeter Tribble.It Sy 1 281e5ecfaa0SPeter TribbleCommand syntax was incorrect, an invalid option was used, or an internal error 282e5ecfaa0SPeter Tribbleoccurred. 283e5ecfaa0SPeter Tribble.It Sy 2 284e5ecfaa0SPeter TribbleAt least one of the specified entry names was not found in the database. 285e5ecfaa0SPeter Tribble.It Sy 3 286e5ecfaa0SPeter TribbleThere is no support for enumeration on this database. 287e5ecfaa0SPeter Tribble.El 288e5ecfaa0SPeter Tribble.Sh SEE ALSO 289e5ecfaa0SPeter Tribble.Xr getgrnam 3C , 29074e12c43SGordon Ross.Xr getnetgrent 3C , 291e5ecfaa0SPeter Tribble.Xr getpwnam 3C , 292e5ecfaa0SPeter Tribble.Xr getspnam 3C , 293e5ecfaa0SPeter Tribble.Xr gethostbyaddr 3NSL , 294e5ecfaa0SPeter Tribble.Xr gethostbyname 3NSL , 295e5ecfaa0SPeter Tribble.Xr gethostent 3NSL , 296e5ecfaa0SPeter Tribble.Xr getprojbyname 3PROJECT , 297e5ecfaa0SPeter Tribble.Xr getauthattr 3SECDB , 298e5ecfaa0SPeter Tribble.Xr getexecattr 3SECDB , 299e5ecfaa0SPeter Tribble.Xr getprofattr 3SECDB , 300e5ecfaa0SPeter Tribble.Xr getuserattr 3SECDB , 301e5ecfaa0SPeter Tribble.Xr ethers 3SOCKET , 302e5ecfaa0SPeter Tribble.Xr getipnodebyaddr 3SOCKET , 303e5ecfaa0SPeter Tribble.Xr getipnodebyname 3SOCKET , 304e5ecfaa0SPeter Tribble.Xr getnetbyname 3SOCKET , 305e5ecfaa0SPeter Tribble.Xr getprotobyname 3SOCKET , 306e5ecfaa0SPeter Tribble.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