NIUTIL(1)

NAME
niutil - NetInfo utility

SYNOPSIS
niutil -create [ opts ] domain path

niutil -destroy [ opts ] domain path

niutil -createprop [ opts ] domain path key [ val... ]

niutil -appendprop [ opts ] domain path key val...

niutil -mergeprop [ opts ] domain path key val...

niutil -insertval [ opts ] domain path key val index

niutil -destroyprop [ opts ] domain path key

niutil -destroyval [ opts ] domain path key val

niutil -renameprop [ opts ] domain path oldkey newkey

niutil -read [ opts ] domain path

niutil -list [ opts ] domain path

niutil -rparent [ opts ] domain

niutil -resync [ opts ] domain

niutil -statistics [ opts ] domain

DESCRIPTION
niutil lets you to do arbitrary reads and writes on the given NetInfo domain. In order to perform writes, niutil must be run as root on the NetInfo master for the database, unless the -p, -P, or -u options are given. The directory specified by path is separated by "/"s, similar to the filesystem. The property names may be given in the path using a "=", but will default to the property name "name". For example, the following refers to a user with the user ID 3.

"/name=users/uid=3"

The following shorter form would also be sufficient:

"/users/uid=3"

You may specify a numeric ID for the directory instead of the string path.

OPTIONS

-t  Interpret the domain as a tagged domain. For example, "parrish/network" refers to the database tagged "network" on the machine "parrish". You may supply an IP address instead of a machine name.

-p  Prompt for the root password or the named user password if combined with the -u option.

-u user
    Run this command as the named user. This option implies -p.

-P password
    Supplies the root password or the named user password if combined with the -u option.

-T seconds
    Sets the read and write timeout to the given number of seconds.

OPERATIONS

-create domain path
    Create a new directory with the given path.

-destroy domain path
    Destroy the directory with the given path.

-createprop domain path key [ val... ]
    Create a new property in the directory path. key refers to the name of the property; 0 or more property values may be specified. If the named property already exists, it's overwritten.

-appendprop domain path key val...
    Appends new values to an existing property in the directory path. key refers to the name of the property; 0 or more property values may be specified. If the named property doesn't exist, it's created.

-mergeprop domain path key val...
    Merges new values into an existing property in the directory path. key refers to the name of the property; 0 or more property values may be specified. The values are appended to the property only if they are not already present. If the named property doesn't exist, it's created.

-insertval domain path key val propindex
    Inserts a new value into an existing property in the directory path at position propindex. key refers to the name of the property. If the named property doesn't exist, it's created.

-destroyprop domain path key
    Destroy the property with name key in the given path.

-destroyval domain path key val
    Destroy the given value in the property with name key in the given path.

-renameprop domain path oldkey newkey
    Renames the property with name oldkey in the given path.

-read domain path
    Read the properties associated with the directory specified in the given path.

-list domain path
    List the directories in the given domain/path. The directory ID's are listed along with any names they may have.

-readprop domain path key
    Read the values of the given property in the specified directory.

-readval domain path key index
    Read the value at the given index of the named property in the specified directory.

-rparent domain
    Prints the current NetInfo parent of a server. The server should be explicitly given using the -t host/tag option.

-resync domain
    Resynchronizes NetInfo. If a domain name is given, the master resynchronizes all clones. If the -t clone/tag option is used instead of a tag, then only that clone is resynchronized. Using -t master/tag resynchronizes the whole domain.

-statistics domain
    Print server statistics.

-domainname domain
    Print the domain name of the given domain. This is useful when the domain is specified is a relative name (like "." or "..") or when a connection is made using the -t server/tag option.

EXAMPLE
"niutil -list . /" list the directories at the top level in the local NetInfo database.

SEE ALSO
niload(8), nidump(8), nigrep(1), nifind(1), nireport(1), netinfo(5)