GETENT(8) Maintenance Commands and Procedures GETENT(8)
NAME
getent - get entries from administrative database
SYNOPSIS
getent database [
key]...
DESCRIPTION
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 can be
passwd,
shadow,
group,
hosts,
ipnodes,
services,
protocols,
ethers,
project,
networks,
netmasks,
auth_attr,
exec_attr,
prof_attr,
user_attr, or
netgroup. For each of these databases,
getent uses the
appropriate library routines described in
getpwnam(3C),
getspnam(3C),
getgrnam(3C),
getnetgrent(3C),
gethostbyaddr(3NSL),
gethostbyname(3NSL),
getipnodebyaddr(3SOCKET),
getipnodebyname(3SOCKET),
getservbyname(3SOCKET),
getprotobyname(3SOCKET),
ethers(3SOCKET),
getprojbyname(3PROJECT),
getnetbyname(3SOCKET),
getauthattr(3SECDB),
getexecattr(3SECDB),
getprofattr(3SECDB), and
getuserattr(3SECDB) respectively.
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 out the database entries that match each of the supplied
keys, one per line, in the format of the matching administrative file:
passwd(5),
shadow(5),
group(5),
project(5),
hosts(5),
services(5),
protocols(5),
ethers(5),
netgroup(5),
networks(5),
netmasks(5),
auth_attr(5),
exec_attr(5),
prof_attr(5), or
user_attr(5). If no key
is given, all entries returned by the corresponding enumeration library
routine, for example,
getpwent(3C) or
gethostent(3NSL), are printed.
Enumeration is not supported on
ipnodes,
ethers,
netgroup, or
netmasks.
Key Interpretation for passwd, group, netgroup, and user_attr Databases When
getent is invoked with
database set to
passwd, each key value is
processed as follows:
+o If the key value consists only of numeric characters,
getent assumes that the key value is a numeric user ID and searches the
passwd database for a matching user ID.
+o If the user ID is not found in the
passwd database or if the key
value contains any non-numeric characters,
getent assumes the key
value is a user name and searches the
passwd database for a
matching user name.
When
getent is invoked with
database set to
group, each key value is
processed as follows:
+o 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.
+o 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
netgroup, only a single
lookup key is supported, which must be in the following format:
netgroup [
host user domain]
Specifying only the
netgroup name will result in entries from the
selected netgroup being displayed as string triples (hostname,
username, domain), in a format compatible with
netgroup(5).
Specifying the
netgroup along with
host,
user and
domain will filter
the netgroup display based on these entries. An asterisk (*) can be
used as a wildcard for the
host,
user or
domain fields.
Since the
netgroup database does not support enumeration, a lookup key
must always be specified.
When
getent is invoked with
database set to
user_attr, each key value
is processed as follows:
+o If the key value consists only of numeric characters,
getent assumes that the key value is a numeric user ID and searches the
passwd database for a matching user name, which is then used as the
key for
user_attr.
+o If the user ID is not found in the
passwd database or if the key
value contains any non-numeric characters,
getent assumes the key
value is a user name and searches the
user_attr database for a
matching entry.
FILES
/etc/nsswitch.conf name service switch configuration
file
/etc/passwd password file
/etc/shadow shadowed password file
/etc/group group file
/etc/inet/hosts IPv4 and IPv6 host name database
/etc/services Internet services and aliases
/etc/project project file
/etc/protocols protocol name database
/etc/ethers Ethernet address to hostname database
or domain
/etc/networks network name database
/etc/netmasks network mask database
/etc/netgroup network group database
/etc/user_attr extended user attributes database
/etc/security/auth_attr authorization description database
/etc/security/exec_attr execution profiles database
/etc/security/prof_attr profile description database
EXIT STATUS
The following exit values are returned:
0 Successful completion.
1 Command syntax was incorrect, an invalid option was used, or an
internal error occurred.
2 At least one of the specified entry names was not found in the
database.
3 There is no support for enumeration on this database.
SEE ALSO
getgrnam(3C),
getnetgrent(3C),
getpwnam(3C),
getspnam(3C),
gethostbyaddr(3NSL),
gethostbyname(3NSL),
gethostent(3NSL),
getprojbyname(3PROJECT),
getauthattr(3SECDB),
getexecattr(3SECDB),
getprofattr(3SECDB),
getuserattr(3SECDB),
ethers(3SOCKET),
getipnodebyaddr(3SOCKET),
getipnodebyname(3SOCKET),
getnetbyname(3SOCKET),
getprotobyname(3SOCKET),
getservbyname(3SOCKET),
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),
shadow(5),
user_attr(5),
attributes(7)illumos June 17, 2021 illumos