getent - get entries from administrative database
getent database [key]...
getent gets a list of entries from the administrative database specified by database. The information generally comes from one or more of the sources that are specified for the database in /etc/nsswitch.conf.
database is the name of the database to be examined. This value can be passwd, group, hosts, ipnodes, services, protocols, ethers, networks, netmasks, project, user_attr, prof_attr, auth_attr, exec_attr, automount, netgroup, initgroups, rpc, or shadow. For each of these databases, getent uses the appropriate library routines as described below. Many of the databases support enumeration if no key is specified on the command line. Not all databases have documented libc(3LIB) interfaces. Man page references are supplied for each database that has supported and documented interfaces.
Supported databases:
Supported interfaces are documented in getpwnam(3C).
Supported interfaces are documented in getgrnam(3C).
Supported interfaces are documented in gethostbyname(3C). The DNS repository does not enumerate the hosts database.
Supported interfaces are documented in getipnodebyname(3C). The DNS repository does not enumerate the ipnodes database.
Supported interfaces are documented in getservbyname(3C).
Supported interfaces are documented in getprotobyname(3C).
Supported interfaces are documented in ethers(3C). This database does not support enumeration.
Supported interfaces are documented in getnetbyname(3C).
There are no public interfaces for this database. This database does not support enumeration.
Supported interfaces are documented in getprojbyname(3PROJECT).
Supported interfaces are documented in getuserattr(3C).
Supported interfaces are documented in getprofattr(3C).
Supported interfaces are documented in getauthattr(3C).
Supported interfaces are documented in getexecattr(3C).
Supported interfaces are documented in getnetgrent(3C). This database does not support enumeration.
Supported interfaces are documented in getgrouplist(3C).
Supported interfaces are documented in getrpcbyname(3C).
Supported interfaces are documented in getspnam(3C).
The getent command can also be used to fetch entries from automount maps, by specifying the following value for database:
automount/map
In this case, getent retrieves the contents of map from the sources listed for automount in /etc/nsswitch.conf. As with other databases, one or more specific search keys can be passed.
Each key must be in a format appropriate for searching on the respective database. For example, it can be a username or numeric-uid for passwd; hostname or IP-address for hosts; or service, service/protocol, port, or port/proto for services.
getent prints each entry from the specified database that matches each specified key, one per line, in the format of the matching administrative file: passwd(5), group(5), project(5), networks(5), netmasks(5), user_attr(5), prof_attr(5), auth_attr(5), or exec_attr(5), or an automount map file as described in automount(8). The key for exec_attr(5) is a profile name. If no key is given, all entries returned by the corresponding enumeration library routine (such as getpwent() or gethostent()) are printed. Enumeration is not supported on ipnodes, ethers, netgroup, or netmasks.
For netgroup, either specify the netgroup name or specify the netgroup name plus the triples (hostname, username, and domainname) specified as keys. The getent command displays each triple that matches the netgroup name or each triple that matches the specified netgroup name and triple. The asterisk (*) can be used as a wildcard in triples. Note that you might need to escape asterisks.
When getent is invoked with database set to passwd, each key value is processed as follows:
If the key value consists only of numeric characters, getent assumes that the key value is a numeric user ID and searches the user database for a matching user ID.
If the user ID is not found in the user database or if the key value contains any non-numeric characters, getent assumes the key value is a user name and searches the user database for a matching user name.
Similarly, when getent is invoked with database set to group, each key value is processed as follows:
If the key value consists only of numeric characters, getent assumes that the key value is a numeric group ID and searches the group database for a matching group ID.
If the group ID is not found in the group database or if the key value contains any non-numeric characters, getent assumes the key value is a group name and searches the group database for a matching group name.
When getent is invoked with database set to user_attr, each key value is processed as follows:
If the key value consists only of numeric characters, getent assumes that the key value is a numeric user ID and searches the user database for a matching user ID.
If the key value contains any non-numeric characters, getent assumes the key value is a user name and searches the user database for a matching user name.
The following example lists the entire contents of the protocols database.
$ getent protocolsExample 2 Listing the Contents of an Automount Map
The following example lists the entire contents of the auto_master automount map.
$ getent automount/auto_masterExample 3 Displaying the Entries for a User in the auto_home Automount Map
The following example displays the entry for user username in the auto_home automount map.
$ getent automount/auto_home usernameExample 4 Displaying netgroup Triples
The following example output displays triples that match the specified netgroup name (workstations) and triple. Wildcards (*) can be specified in the triple.
A match is shown as the netgroup triple equal to 1.
$ getent netgroup workstations hostname \* \* workstations (hostname,*,*) = 1
The following exit values are returned:
Successful completion.
Command syntax was incorrect, an invalid option was used, or an internal error occurred.
At least one of the specified entry names was not found in the database.
There is no support for enumeration on this database.
Name service switch configuration file
Password file
Group file
IPv4 and IPv6 host name database
Internet services and aliases
Project file
Protocol name database
Ethernet address to hostname database or domain
Network name database
Network mask database
Extended user attributes
Profile description database
Authorization description
Execution profiles database
Automounter databases
See attributes(7) for descriptions of the following attributes:
|
ethers(3C), ether_hostton(3C), getauthattr(3C), getexecattr(3C), getgrnam(3C), getgrouplist(3C), gethostbyaddr(3C), gethostbyname(3C), gethostent(3C), getipnodebyaddr(3C), getipnodebyname(3C), getnetbyname(3C), getnetgrent(3C), getprofattr(3C), getprotobyname(3C), getpwnam(3C), getservbyname(3C), getspnam(3C), getuserattr(3C), getprojbyname(3PROJECT), getrpcbyname(3C), auth_attr(5), ethers(5), exec_attr(5), group(5), hosts(5), netmasks(5), networks(5), nsswitch.conf(5), passwd(5), prof_attr(5), project(5), protocols(5), services(5), user_attr(5), automount(8)