systemd/man/nss-myhostname.8
2015-02-17 11:22:16 +01:00

153 lines
3.8 KiB
Groff

'\" t
.TH "NSS\-MYHOSTNAME" "8" "" "systemd 219" "nss-myhostname"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
nss-myhostname, libnss_myhostname.so.2 \- Provide hostname resolution for the locally configured system hostname\&.
.SH "SYNOPSIS"
.PP
libnss_myhostname\&.so\&.2
.SH "DESCRIPTION"
.PP
\fBnss\-myhostname\fR
is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (\fBglibc\fR) primarily providing hostname resolution for the locally configured system hostname as returned by
\fBgethostname\fR(2)\&. The precise hostnames resolved by this module are:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The local, configured hostname is resolved to all locally configured IP addresses ordered by their scope, or \(em if none are configured \(em the IPv4 address 127\&.0\&.0\&.2 (which is on the local loopback) and the IPv6 address ::1 (which is the local host)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The hostname
"localhost"
is resolved to the IP addresses 127\&.0\&.0\&.1 and ::1\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The hostname
"gateway"
is resolved to all current default routing gateway addresses, ordered by their metric\&. This assigns a stable hostname to the current gateway, useful for referencing it independently of the current network configuration state\&.
.RE
.PP
Various software relies on an always\-resolvable local hostname\&. When using dynamic hostnames, this is traditionally achieved by patching
/etc/hosts
at the same time as changing the hostname\&. This is problematic since it requires a writable
/etc
file system and is fragile because the file might be edited by the administrator at the same time\&. With
\fBnss\-myhostname\fR
enabled changing
/etc/hosts
is unncessary, and on many systems the file becomes entirely optional\&.
.PP
To activate the NSS modules,
"myhostname"
has to be added to the line starting with
"hosts:"
in
/etc/nsswitch\&.conf\&.
.PP
It is recommended to place
"myhostname"
last in the
nsswitch\&.conf
line to make sure that this mapping is only used as fallback, and any DNS or
/etc/hosts
based mapping takes precedence\&.
.SH "EXAMPLE"
.PP
Here\*(Aqs an example
/etc/nsswitch\&.conf
file, that enables
\fBmyhostname\fR
correctly:
.sp
.if n \{\
.RS 4
.\}
.nf
passwd: compat
group: compat
shadow: compat
hosts: files dns mymachines \fBmyhostname\fR
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
.fi
.if n \{\
.RE
.\}
.PP
To test, use
\fBglibc\fR\*(Aqs
\fBgetent\fR
tool:
.sp
.if n \{\
.RS 4
.\}
.nf
$ getent ahosts `hostname`
::1 STREAM omega
::1 DGRAM
::1 RAW
127\&.0\&.0\&.2 STREAM
127\&.0\&.0\&.2 DGRAM
127\&.0\&.0\&.2 RAW
.fi
.if n \{\
.RE
.\}
.PP
In this case the local hostname is
\fIomega\fR\&.
.SH "SEE ALSO"
.PP
\fBsystemd\fR(1),
\fBnss-mymachines\fR(8),
\fBnsswitch.conf\fR(5),
\fBgetent\fR(1)