From 4a009a370890587eb84ad87db7a5190734b2643c Mon Sep 17 00:00:00 2001 From: "Mark R. Bannister" Date: Tue, 6 Mar 2012 07:29:48 +1300 Subject: [PATCH] getent.1: New page to document 'getent' binary provided by glibc Signed-off-by: Michael Kerrisk --- man1/getent.1 | 364 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 364 insertions(+) create mode 100644 man1/getent.1 diff --git a/man1/getent.1 b/man1/getent.1 new file mode 100644 index 000000000..f45820ee4 --- /dev/null +++ b/man1/getent.1 @@ -0,0 +1,364 @@ +.\" Copyright (c) 2011, Mark R. Bannister +.\" +.\" This is free documentation; you can redistribute it and/or +.\" modify it under the terms of the GNU General Public License as +.\" published by the Free Software Foundation; either version 2 of +.\" the License, or (at your option) any later version. +.\" +.\" The GNU General Public License's references to "object code" +.\" and "executables" are to be interpreted as the output of any +.\" document formatting or typesetting system, including +.\" intermediate and printed output. +.\" +.\" This manual is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public +.\" License along with this manual; if not, write to the Free +.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, +.\" USA. +.\" +.TH GETENT 1 2011-10-31 "Linux" "User Commands" +.SH NAME +getent \- get entries from Name Service Switch libraries +.SH SYNOPSIS +.BI "getent " database " [ " key " ... ]" +.SH DESCRIPTION +Displays entries from databases supported by the Name Service Switch libraries, +which are configured in +.IR /etc/nsswitch.conf . +If one or more +.I key +is provided, then only the entries that match the supplied keys will be +displayed. +Otherwise, if no +.I key +is provided, all entries will be displayed (unless the database does not +support enumeration). +.LP +The +.I database +may be any supported by the GNU C Library, listed below: +.RS 3 +.TP 10 +.B ahosts +When no +.I key +is provided, uses +.BR sethostent (3), +.BR gethostent (3) +and +.BR endhostent (3) +to enumerate the hosts database. +This is identical to using +.BR hosts . +When one or more +.I key +is provided, passes each +.I key +in succession to +.BR getaddrinfo (3) +with the address family +.BR AF_UNSPEC , +enumerating each socket address structure returned. +.TP +.B ahostsv4 +Same as +.B ahosts +except for the address family +.BR AF_INET . +.TP +.B ahostsv6 +Same as +.B ahosts +except for the address family +.BR AF_INET6 . +The call to +.BR getaddrinfo (3) +in this case includes the +.B AI_V4MAPPED +flag. +.TP +.B aliases +When no +.I key +is provided, uses +.BR setaliasent (3), +.BR getaliasent (3) +and +.BR endaliasent (3) +to enumerate the aliases database. +When one or more +.I key +is provided, passes each +.I key +in succession to +.BR getaliasbyname (3) +and displays the result. +.TP +.B ethers +When one or more +.I key +is provided, passes each +.I key +in succession to +.BR ether_aton (3) +and +.BR ether_hostton (3) +until a result is obtained, and displays the result. +Enumeration is not supported on +.BR ethers , +so a +.I key +must be provided. +.TP +.B group +When no +.I key +is provided, uses +.BR setgrent (3), +.BR getgrent (3) +and +.BR endgrent (3) +to enumerate the group database. +When one or more +.I key +is provided, passes each numeric +.I key +to +.BR getgrgid (3) +and each non-numeric +.I key +to +.BR getgrnam (3) +and displays the result. +.TP +.B gshadow +When no +.I key +is provided, uses +.BR setsgent (3), +.BR getsgent (3) +and +.BR endsgent (3) +to enumerate the gshadow database. +When one or more +.I key +is provided, passes each +.I key +in succession to +.BR getsgnam (3) +and displays the result. +.TP +.B hosts +When no +.I key +is provided, uses +.BR sethostent (3), +.BR gethostent (3) +and +.BR endhostent (3) +to enumerate the hosts database. +When one or more +.I key +is provided, passes each +.I key +to +.BR gethostbyaddr (3) +or +.BR gethostbyname2 (3), +depending on whether a call to +.BR inet_pton (3) +indicates that the +.I key +is an IPv6 or IPv4 address or not, and displays the result. +.TP +.B initgroups +When one or more +.I key +is provided, passes each +.I key +in succession to +.BR getgrouplist (3) +and displays the result. +Enumeration is not supported on +.BR initgroups , +so a +.I key +must be provided. +.TP +.B netgroup +When one +.I key +is provided, passes the +.I key +to +.BR setnetgrent (3) +and, using +.BR getnetgrent (3) +displays the resulting string triple +.RI ( hostname ", " username ", " domainname ). +Alternatively, three +.I keys +may be provided, which are interpreted as the +.IR hostname , +.I username +and +.I domainname +to match to a netgroup name via +.BR innetgr (3). +Enumeration is not supported on +.BR initgroups , +so either one or three +.I keys +must be provided. +.TP +.B networks +When no +.I key +is provided, uses +.BR setnetent (3), +.BR getnetent (3) +and +.BR endnetent (3) +to enumerate the networks database. +When one or more +.I key +is provided, passes each numeric +.I key +to +.BR getnetbyaddr (3) +and each non-numeric +.I key +to +.BR getnetbyname (3) +and displays the result. +.TP +.B passwd +When no +.I key +is provided, uses +.BR setpwent (3), +.BR getpwent (3) +and +.BR endpwent (3) +to enumerate the passwd database. +When one or more +.I key +is provided, passes each numeric +.I key +to +.BR getpwuid (3) +and each non-numeric +.I key +to +.BR getpwnam (3) +and displays the result. +.TP +.B protocols +When no +.I key +is provided, uses +.BR setprotoent (3), +.BR getprotoent (3) +and +.BR endprotoent (3) +to enumerate the protocols database. +When one or more +.I key +is provided, passes each numeric +.I key +to +.BR getprotobynumber (3) +and each non-numeric +.I key +to +.BR getprotobyname (3) +and displays the result. +.TP +.B rpc +When no +.I key +is provided, uses +.BR setrpcent (3), +.BR getrpcent (3) +and +.BR endrpcent (3) +to enumerate the rpc database. +When one or more +.I key +is provided, passes each numeric +.I key +to +.BR getrpcbynumber (3) +and each non-numeric +.I key +to +.BR getrpcbyname (3) +and displays the result. +.TP +.B services +When no +.I key +is provided, uses +.BR setservent (3), +.BR getservent (3) +and +.BR endservent (3) +to enumerate the services database. +When one or more +.I key +is provided, passes each numeric +.I key +to +.BR getservbynumber (3) +and each non-numeric +.I key +to +.BR getservbyname (3) +and displays the result. +.TP +.B shadow +When no +.I key +is provided, uses +.BR setspent (3), +.BR getspent (3) +and +.BR endspent (3) +to enumerate the shadow database. +When one or more +.I key +is provided, passes each +.I key +in succession to +.BR getspnam (3) +and displays the result. +.RE +.SH "EXIT STATUS" +One of the following exit values can be returned by +.BR getent : +.RS 3 +.TP 10 +.B 0 +Command completed successfully. +.TP +.B 1 +Missing arguments, or +.I database +unknown. +.TP +.B 2 +One or more supplied +.I key +could not be found in the +.IR database . +.TP +.B 3 +Enumeration not supported on this +.IR database . +.RE +.SH "SEE ALSO" +.BR nsswitch.conf (5).