makedbm(1M) makedbm(1M)
NAME [Toc] [Back]
makedbm - make a Network Information System database
SYNOPSIS [Toc] [Back]
/usr/sbin/makedbm [-b] [-l] [-s] [-i nis_input_file]
[-o nis_output_name] [-d nis_domain_name]
[-m nis_master_name] infile outfile
/usr/sbin/makedbm -u database_name
Remarks [Toc] [Back]
The Network Information Service (NIS) was formerly known as Yellow
Pages (yp). Although the name has changed, the functionality of the
service remains the same.
DESCRIPTION [Toc] [Back]
makedbm generates databases (maps) for the Network Information System
(NIS) from infile. A database created by makedbm consists of two
files: outfile.pag and outfile.dir. A makedbm database contains
records called dbm records composed of key-value pairs.
Each line of infile is converted to a single dbm record; all
characters up to the first tab or space form the key, and the
remainder of the line is the value. If a value read from infile ends
with \, the value for that record is continued onto the next line.
The NIS clients must interpret the # character (which means that
makedbm does not treat the # as if it precedes a comment). If infile
is a hyphen (-), makedbm reads standard input.
makedbm always generates a special dbm record with the key
YP_LAST_MODIFIED, whose value is the time of last modification of
infile (or the current time, if infile is -). This value is also
known as the order number of a map, and yppoll prints it for a
specified NIS map (see yppoll(1M)).
Another special dbm record created by makedbm has the key
YP_MASTER_NAME. Its value is usually the host name retrieved by
gethostname(); however, the -m option can be used to specify a
different value (see gethostname(2)).
If the -b option is used, another special dbm record with the
YP_INTERDOMAIN key is created. When this key exists in the NIS
host.by* maps and the NIS host name resolution fails, the ypserv
process will query the Internet domain name server, named(1M), to
provide the host name resolution. Before using the -b option, it is
recommended that the name services switch, switch(4), be set to allow
NIS host name resolution first. (Note that, since the ypserv process
only checks hosts.byname and hosts.byaddr for the existence of the
YP_INTERDOMAIN key, using the -b option on any other NIS map will have
no effect. Also, the -b option should be used on both the
hosts.byname and hosts.byaddr maps, not one exclusively.)
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
makedbm(1M) makedbm(1M)
If the -s option is used, another special dbm record created is the
YP_SECURE key. If this key exists in an NIS map, ypserv will only
allow privileged processes (applications that can create reserved
ports) to access the data within the map.
Options [Toc] [Back]
makedbm recognizes the following options and command-line arguments.
-b Create a special dbm record with the key YP_INTERDOMAIN. This
key, which is in the hosts.byname and hosts.byaddr maps, allows
the ypserv process to query the Internet domain name server, (see
named(1M)).
-l Convert the keys of the given map to lowercase. This command
option allows host name matches to work independent of
character-case distinctions.
-s Accept connections from secure NIS networks only.
-i Create a special dbm record with the key YP_INPUT_FILE and the
value nis_input_file. If the -s option is used, another special
dbm record created is the YP_SECURE key. If this key exists in
an NIS map, ypserv will only allow privileged processes to access
the data within the map. (i.e. applications that can create
reserved ports.)
-o Create a special dbm record with the key YP_OUTPUT_NAME and the
value nis_output_name.
-d Create a special dbm record with the key YP_DOMAIN_NAME and the
value nis_domain_name.
-m Replace the value of the special dbm record whose key is
YP_MASTER_NAME with nis_master_name.
-u Undo the database_name (i.e., write the contents of database_name
to the standard output), one dbm record per line. A single space
separates each key from its value.
EXAMPLES [Toc] [Back]
Shell scripts can be written to convert ASCII files such as
/etc/netgroup to the key-value form used by makedbm. For example,
#!/usr/bin/sh
/usr/bin/awk 'BEGIN { FS = ":" } { print $1, $0 }' \
/etc/netgroup | \
makedbm - netgroup
converts the file /etc/netgroup to a form that is read by makedbm to
make the NIS map netgroup. The keys in the database are netgroup(4)
names, and the values are the remainders of the lines in the
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003
makedbm(1M) makedbm(1M)
/etc/netgroup file.
AUTHOR [Toc] [Back]
makedbm was developed by Sun Microsystems, Inc.
SEE ALSO [Toc] [Back]
domainname(1), ypinit(1M), ypmake(1M), yppoll(1M), gethostname(2),
netgroup(4), ypfiles(4).
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: August 2003 [ Back ] |