GETENT(8) Maintenance Commands and Procedures GETENT(8)

getentget 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 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.

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 passwd database for a matching user ID.
  • 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:

  • 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 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:

  • 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.
  • 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.

/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

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.

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)

June 17, 2021 OmniOS