The
YP
subsystem allows network management of passwd, group, and
hosts file entries through the functions
getpwent(3),
getgrent(3)
and
gethostbyname(3).
A number of other databases can be network-managed as well,
and have their respective functions.
YP
also provides hooks for numerous other client programs
such as
amd(8)
and
bootparamd(8)
to access distributed and shareable versions
of their maps through
YP.
The YP subsystem requires that
portmap(8)
be running, since the entire subsystem uses the RPC subsystem.
ypinit
is used to initialize
YP
as a master or a slave.
This creates various files in
/var/yp.
By default the
YP
server will be set up in backwards compatible mode.
To enable
secure
mode, the file
/var/yp/Makefile.yp
must be edited.
This
secure
mode is compatible with
OpenBSD
and
FreeBSD
clients.
If set up as a slave, the required databases are automatically copied
from the specified server.
The
YP
client subsystem is started automatically in
/etc/rc
if the directory
/var/yp/binding
exists.
The client subsystem can be turned on and off by creating or
deleting that directory.
ypbind(8)
will create that directory if run by hand.
The
YP
server subsystem is started automatically in
/etc/rc
if the directory
/var/yp/DOMAINNAME
exists.
This directory is automatically created by
ypinit(8)
(which initializes the machine as a
YP
server).
If
ypbind
cannot find a server, the system behaves the same way as Sun's code
does: it hangs.
This free
YP
subsystem is thought to be compatible with Sun's implementation.
It is, of course, not compatible with
NIS+
or any other
secure
YP
subsystem other than the native one.
The name
YP
stands for Yellow Pee.
The ypbind, most library components, and userland programs were implemented
by
Theo de Raadt deraadt@theos.com.
The current
getpwent(3)
implementation was done by
Jason Downs downsj@downsj.com.
The server component was implemented by
Mats O Jansson moj@stacken.kth.se.