|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Naming and Directory Services (NIS+)|
Note - Some NIS+ table administration tasks can be performed more easily with Solaris Management Console tools if you have them available.
The nistbladm command is the primary NIS+ table administration command. The nistbladm command is for use on NIS+ tables stored in an NIS+ directory object. With it, you can create, modify, and delete NIS+ tables and entries. To create a table, its directory must already exist. To add entries to the table, the table and columns must already be defined.
To create a table, you must have create rights to the directory under which you will create it. To delete a table, you must have destroy rights to the directory. To modify the contents of a table, whether to add, change, or delete entries, you must have modify rights to the table or the entries.
The general syntax of the nistbladm command is:
nistbladm options \ [columspec | columnvalue] \ [tablename | indexedname]
columnspec is a specification defining a column to be created in a table as described in Specifying NIS+ Table Columns.
columnvalue identifies a particular cell value in the table identified by tablename as described in nistbladm and NIS+ Column Values.
tablename is the name of the table. For example, hosts.org_dir.doc.com.
indexedname identifies a particular cell value in a certain table as described in nistbladm and NIS+ Column Values. In essence indexedname is the equivalent of columnvalue plus tablename.
Table 19-1 nistbladm Options
Column values are used to identify individual entries in tables using the format:
columname="value", \ columnname="value", ...
columname is the name of a table column.
value is the contents of a particular cell within a column. That value is what identifies a table row. (When using column=value to create or modify table data, always enclose the value element in quotes.)
For example, suppose you had a hosts table that listed machine names and IP addresses.
Table 19-2 Example NIS+ Hosts Table
In this example, your could identify the altair entry (row) in three different ways using the column=value of:
But notice in the table above that the machine regulus is multi-homed and has two IP addresses. In that case, the column=value of host=regulus identifies two rows.
To identify just the first regulus row, you would enter either:
When an NIS+ table is created, one or more columns are designated searchable with either the S or the I flags as described in Specifying NIS+ Table Columns. You can use the niscat -o tablename command to display a list of a table's columns and their characteristics.
A table is keyed on its searchable columns. This means that each row in the table must have a unique combination of values in the searchable columns. For example, if a table has one searchable column, each table row must have a unique value in that column, no two rows can contain the same value.
For example, suppose you had a table containing one searchable column named city and a non-searchable column named country. The following rows would all be permitted:
But you could not have two rows like:
If a table has multiple searchable columns, it is the combination of values that must be unique. For example, suppose you had a table containing two searchable columns, Lastname, Firstname and a non-searchable column named city. The following rows would all be permitted:
But you could not have two rows like this:
NIS+ commands use the values in the searchable columns to identify specific table rows.
In the context of table administration, an NIS+ indexed name is a name that combines a table name with column value search criteria to identify and select particular entries in a table. Indexed names use the format:
Note that search_criteria must be enclosed in square brackets [ ]. The search_criteria use the format:
columname=value, \ columname=value,...
Where columname=value pairs are column values from the table's searchable columns as described in nistbladm and NIS+ Column Values.
For example, to identify the altair entry in Table 19-2 you could use the indexed name:
The nistbladm -R command allows you to remove all the entries in a table by using the two square brackets with nothing between them [ ] as a wildcard specifying all table rows.
In a Solaris-NIS+ environment, there are three types of groups:
(See Solaris Groups and NIS+ Groups for more information on the different types of groups and how to work with them.)