X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fnss-myhostname.xml;h=c7a2cd9ae7b4edf90732a0036656199d095757b7;hp=bd3f635692246903ed6b293dc4bf2ff47a5c550c;hb=79b1f37d95f08fe7620b071eec51d2810ed077c9;hpb=16eb4da97e1bfe7f9416a0622b1a06408e550423 diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml index bd3f63569..c7a2cd9ae 100644 --- a/man/nss-myhostname.xml +++ b/man/nss-myhostname.xml @@ -22,7 +22,7 @@ along with systemd; If not, see . --> - + nss-myhostname @@ -45,57 +45,88 @@ nss-myhostname - Provide host name resolution for the locally + libnss_myhostname.so.2 + Provide hostname resolution for the locally configured system hostname. - - nss-myhostname.la - + libnss_myhostname.so.2 Description - nss-myhostname is a plugin for the GNU Name Service Switch - (NSS) functionality of the GNU C Library (glibc) - providing host name resolution for the locally configured system - hostname as returned by - gethostname2. - Various software relies on an always resolvable local host name. When - using dynamic hostnames this is usually achieved by patching - /etc/hosts at the same time as changing the host - name. This however is not ideal since it requires a writable - /etc file system and is fragile because the file - might be edited by the administrator at the same time. nss-myhostname - simply returns all locally configure public IP addresses, or -- if none - are configured -- the IPv4 address 127.0.0.2 (wich is on the local - loopback) and the IPv6 address ::1 (which is the local host) for - whatever system hostname is configured locally. Patching - /etc/hosts is thus no longer necessary. - - To activate the NSS modules, - has to be added to the line starting with "hosts:" in - /etc/nsswitch.conf - - It is recommended to put - 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. + nss-myhostname is a plugin + for the GNU Name Service Switch (NSS) functionality of + the GNU C Library (glibc) primarily + providing hostname resolution for the locally + configured system hostname as returned by + gethostname2. The + precise hostnames resolved by this module are: + + + The local, configured hostname + is resolved to all locally configured IP + addresses ordered by their scope, or -- if + none are configured -- the IPv4 address + 127.0.0.2 (which is on the local loopback) and + the IPv6 address ::1 (which is the local + host). + + The hostname + localhost is resolved to + the IP addresses 127.0.0.1 and + ::1. + + 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. + + + + 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 + nss-myhostname enabled changing + /etc/hosts is unncessary, and on + many systems the file becomes entirely optional. + + To activate the NSS modules, + myhostname has to be added to the + line starting with hosts: in + /etc/nsswitch.conf. + + 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. Example - -# /etc/nsswitch.conf + Here's an example + /etc/nsswitch.conf file, that + enables myhostname + correctly: -passwd: compat +passwd: compat group: compat shadow: compat -hosts: files dns myhostname +hosts: files dns mymachines myhostname networks: files protocols: db files @@ -103,22 +134,19 @@ services: db files ethers: db files rpc: db files -netgroup: nis - +netgroup: nis To test, use glibc's getent tool: - -$ getent ahosts `hostname` + $ 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 - +127.0.0.2 RAW - In this case the local host name is omega. + In this case the local hostname is omega. @@ -126,13 +154,9 @@ $ getent ahosts `hostname` See Also systemd1, - systemd-logind.service8, - logind.conf5, - loginctl1, - pam.conf5, - pam.d5, - pam8, - pam_loginuid8 + nss-mymachines8, + nsswitch.conf5, + getent1