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
andMAXUID
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
andMAXGID
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
.