getent
getent is a Unix command that helps a user get entries in a number of important text files called databases. This includes the passwd and group databases which store user information – hence getent
is a common way to look up user details on Unix. Since getent
uses the same name service as the system, getent
will show all information, including that gained from network information sources such as LDAP.
The databases it searches in are: ahosts, ahostsv4, ahostsv6, aliases, ethers (Ethernet addresses), group, gshadow, hosts, netgroup, networks, passwd, protocols, rpc, services, and shadow.
The general syntax is:
getent database [key ...]
Thorsten Kukuk wrote the getent utility for the GNU C Library.
Examples
[edit]Fetch list of user accounts on a Unix system (stored in a database called 'passwd'). This will show all user accounts, regardless of the type of name service used. For example, if both local and LDAP name service are used for user accounts, the results will include all local and LDAP users:
$ getent passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
Fetch details for a particular user called joe:
$ getent passwd joe
joe:x:1000:1000:Joe,,,:/home/joe:/bin/bash
Fetch list of group accounts on a Unix system (stored in a database called 'group'):
$ getent group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:stefan
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8: