MAKEFILE.YP(8) | System Manager's Manual | MAKEFILE.YP(8)

# NAME

`Makefile.yp` — generate and distribute YP maps

# SYNOPSIS

`cd /var/yp; make`

# DESCRIPTION

The `Makefile.yp` utility generates or updates the YP maps to be served by ypserv(8).

Each YP domain to be served must have its own subdirectory below /var/yp. Use ypinit(8) to set up such subdirectories. In particular, ypinit(8) will copy /var/yp/Makefile.yp into each new domain subdirectory. For common configuration changes affecting all future domains, edit /var/yp/Makefile.yp before running ypinit(8). For configuration changes affecting only one individual domain, edit the Makefile in the respective domain subdirectory after running ypinit(8). Do not edit /var/yp/Makefile.yp.dist.

By default, input data for generating YP maps is collected from the /etc directory. Edit the `DIR` variable to choose a different source directory.

To regenerate all maps for all domains, run make(1) in /var/yp. To regenerate all maps for one single domain, run make(1) in the respective domain subdirectory. The makedbm(8) utility will be used to create the maps in Berkeley DB format, and they will be stored inside the appropriate domain subdirectory.

Whenever a YP map has been updated, it is automatically distributed to all slave servers in the respective domain using the yppush(8) utility. To disable automatic distribution, set the `NOPUSH` variable to an arbitrary, non-empty, value.

# STANDARD YP MAPS

By default, `Makefile.yp` provides the following make(1) targets:

`passwd`
  Generates the passwd.byname, passwd.byuid, master.passwd.byname, and master.passwd.byuid maps from master.passwd(5) for use by getpwent(3).

  The master.passwd.* maps always contain complete records in master.passwd(5) format, including the encrypted passwords.

  The passwd.* maps follow the reduced passwd(5) format having the class, change, and expire fields removed but by default the encrypted passwords are included too. If the `UNSECURE` variable is changed to be empty, the encrypted passwords are replaced by asterisks (‘`*`’). This “secure” mode is compatible with OpenBSD and FreeBSD clients.

  The `MINUID` and `MAXUID` variables restrict the range of user IDs included into the four passwd maps. By default, system users are not included.

`netgroup`
  Generates the netgroup, netgroup.byuser, and netgroup.byhost maps from netgroup(5) for use by getnetgrent(3) and passwd(5). Requires the revnetgroup(8) utility.
`group`
  Generates the group.byname and group.bygid maps from group(5) for use by getgrent(3).

  The `MINGID` and `MAXGID` variables restrict the range of group IDs included into both group maps. By default, system groups are not included.

`netid`
  Generates the netid.byname map from netid(5), passwd(5), group(5), and hosts(5) for use by getgrouplist(3). Falls back to master.passwd(5) in case passwd(5) is not available. Requires the mknetid(8) utility.
`hosts`
  Generates the hosts.byname and hosts.byaddr maps from hosts(5) for use by gethostbyname(3).

  To get ypserv(8) to ask DNS for unknown hosts, set the `USEDNS` variable to `-b`.

`ethers`
  Generates the ethers.byaddr and ethers.byname maps from ethers(5) for use by ether_aton(3).
`rpc`
  Generates the rpc.bynumber map from rpc(5) for use by getrpcent(3).
`services`
  Generates the services.byname map from services(5) for use by getservent(3).
`protocols`
  Generates the protocols.byname and protocols.bynumber maps from protocols(5) for use by getprotoent(3).
`aliases`
  Generates the mail.aliases and mail.byaddr maps from aliases(5). This target uses both sendmail(8) with the option `-bi` and the mkalias(8) utility.
`amd.home`
  Generates the amd.home map from the file /etc/amd/amd.home.
`all`
  Generates all of the above, and sends a hangup signal to ypserv(8) such that it uses the new maps.

In order to keep additional custom YP maps up to date, the Makefile should be extended to support additional targets.

# FILES

/var/yp/Makefile
  Top level YP Makefile.
/var/yp/domainname/Makefile
  Per domain YP maps Makefile.
/var/yp/domainname/ypservers.db
  Database of hosts serving this domain.
/var/yp/domainname/mapname.db
  Database files containing the YP maps.
/var/yp/domainname/target.time
  Cookies controlling the operation of make(1).

# SEE ALSO

make(1), dbopen(3), makedbm(8), yp(8), ypinit(8), yppush(8), ypserv(8)

# BUGS

When `NOPUSH` is set and individual maps are regenerated (as opposed to `all`), the hangup signal to ypserv(8) must be sent manually, or the new maps won't be used.

When `NOPUSH` is unset, maps are pushed to the master server on the local host too, slowing down `Makefile.yp`.

August 30, 2019 | Debian