The
revnetgroup
utility processes the contents of a file in
netgroup(5)
format into what is called
reverse netgroup
form.
That is, where the original file shows
netgroup memberships in terms of which members reside in a particular
group, the reverse netgroup format specifies what groups are associated
with a particular member.
This information is used to generate the
netgroup.byuser
and
netgroup.byhost
NIS
maps.
These reverse netgroup maps are used to help speed up
netgroup lookups, particularly for the
innetgr()
library function.
For example, the standard
/etc/netgroup
file may list a netgroup and a list of its members.
Here, the
netgroup is considered the
key
and the member names are the
data.
By contrast, the reverse
netgroup.byuser
database lists each unique
member as the key and the netgroups to which the members belong become
the data.
Separate databases are created to hold information pertaining
to users and hosts; this allows netgroup username lookups
and netgroup hostname lookups to be performed using independent keyspaces.
By constructing these reverse netgroup databases (and the corresponding
NIS
maps) in advance, the
getnetgrent(3)
library functions are spared from having to work out the dependencies
themselves on the fly.
This is important on networks with large numbers
of users and hosts, since it can take a considerable amount of time
to process very large netgroup databases.
The
revnetgroup
utility prints its results on the standard output.
It is usually called
only by
/var/yp/Makefile
when rebuilding the
NIS
netgroup maps.