MAKEFILE.YP(8)          OpenBSD 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 re-
     generate 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 db(3) format, and they will be stored inside the appropriate do-
     main 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 arbi-
     trary, 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 compati-
                ble 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.  Re-
                quires the mknetid(8) utility.

     hosts      Generates the hosts.byname and hosts.byaddr maps from hosts(5)
                for use by gethostbyname(3).  Requires the stdhosts(8) utili-
                ty.

                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 ethers(3).  Requires the stdethers(8)
                utility.

     networks   Generates the networks.byname and networks.byaddr maps from
                networks(5) for use by getnetent(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), db(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 4.7                    January 20, 2010                              2
