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

MAKEFILE.YP(8) - System Manager’s Manual #

MAKEFILE.YP(8) - System Manager’s Manual

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)](/man/man8/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)](/man/man8/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)](/man/man1/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.

OpenBSD 7.5 - August 30, 2019