首页
首页 » 其它 » makedbm

makedbm


makedbm

makedbm [options] infile outfilemakedbm [option]

NFS/NIS command. Create or dump an NIS dbm file. makedbm will take a text infile and convert it to a gdbm database file named outfile. This file is suitable for use with ypserv. Each line of the input file is converted to a single record. All characters up to the first TAB or SPACE form the key, and the rest of the line is the data. If a line ends with &, the data for that record is continued onto the next line. The # character is given no special treatment. infile can be -, in which case the standard input is read.

makedbm generates two special keys: the YP_M*ER_NAME key, which is the value of the current host (unless another name is specified with -m), and the YP_L*_MODIFIED key, which is the date of infile (or the current time if infile is -).

Options

-a

Add support for mail aliases.

-b

Insert YP_INTERDOMAIN key into map. This indicates that ypserv should fall back to DNS lookups when a host's address is not found in NIS.

-c

Send a YPPROC_CLEAR signal to ypserv, causing it to clear all cached entries.

-i file_name

Create a YP_INPUT_NAME key with the value file_name.

-l

Convert keys of the given map to lowercase.

-m master_name

Specify the value of the YP_M*ER_NAME key. The default value is the current hostname.

--no-limit-check

Don't enforce NIS size limits for keys or data.

-o file_name

Create a YP_OUTPUT_NAME key with the value file_name.

-r

Treat lines beginning with # as comments. Do not include them in the datafile.

-s

Add the key YP_SECURE, indicating that ypserv should accept connections to the database only from secure NIS networks.

-u filename

Undo a gdbm file: print out a dbm file, one entry per line, with a single space separating keys from values.

Example

It's easy to write shell scripts to convert standard files such as /etc/passwd to the key-value form used by makedbm. For example, the awk program:

BEGIN { FS =":";OFS = " ";} { print $1, $0}

takes the /etc/passwd file and converts it to a form that can be read by makedbm to make the NIS file passwd.byname. That is, the key is a username and the value is the remaining line in the /etc/passwd file.