Getent

Revision as of 02:50, 5 February 2025 by imported>Lars A (Added short description)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Template:Lowercase Template:Short description 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 <syntaxhighlight lang="text" class="" style="" inline="1">getent</syntaxhighlight> is a common way to look up user details on Unix. Since <syntaxhighlight lang="text" class="" style="" inline="1">getent</syntaxhighlight> uses the same name service as the system, <syntaxhighlight lang="text" class="" style="" inline="1">getent</syntaxhighlight> 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: <syntaxhighlight lang="shell"> getent database [key ...] </syntaxhighlight>

Thorsten Kukuk wrote the getent utility for the GNU C Library.

ExamplesEdit

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: <syntaxhighlight lang="unixconfig" highlight="1"> $ 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 </syntaxhighlight> Fetch details for a particular user called joe: <syntaxhighlight lang="unixconfig" highlight="1"> $ getent passwd joe joe:x:1000:1000:Joe,,,:/home/joe:/bin/bash </syntaxhighlight> Fetch list of group accounts on a Unix system (stored in a database called 'group'): <syntaxhighlight lang="unixconfig" highlight="1"> $ 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: </syntaxhighlight>

External linksEdit