Skip Navigation Links | |
Exit Print View | |
System Administration Guide: Naming and Directory Services (NIS+) |
Part I About Naming and Directory Services
Part II NIS+ Setup and Configuration
4. Configuring NIS+ With Scripts
5. Setting Up the NIS+ Root Domain
8. Configuring an NIS+ Non-Root Domain
10. NIS+ Tables and Information
12. Administering NIS+ Credentials
14. Administering Enhanced NIS+ Security Credentials
15. Administering NIS+ Access Rights
16. Administering NIS+ Passwords
18. Administering NIS+ Directories
Using the nistbladm Command With NIS+ Tables
nistbladm and NIS+ Column Values
nistbladm, Searchable NIS+ Columns, Keys, and Column Values
Creating Additional NIS+ Automount Tables
Adding Entries to an NIS+ Table
Adding an NIS+ Table Entry With the -a Option
Adding an NIS+ Table Entry With the -A Option
Editing an NIS+ Table Entry With the -e Option
Editing an NIS+ Table Entry With the -E Option
Removing NIS+ Single Table Entries
Removing Multiple Entries From an NIS+ Table
Displaying the Contents of an NIS+ Table
Displaying the Object Properties of an NIS+ Table or Entry
About Regular Expressions in NIS+
nismatch and nisgrep Command Syntax
Searching the First Column in NIS+
Searching a Particular Column in NIS+
Searching Multiple Columns in NIS+
Expanding a Directory Into an NIS+ Domain
Expanding a Directory Into an NIS-Compatible Domain
Loading Information Into NIS+ From a File
Loading Data From an NIS Map Into NIS+
Dumping the Contents of an NIS+ Table to a File
20. NIS+ Server Use Customization
23. Information in NIS+ Tables
Common NIS+ Namespace Error Messages
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]
Where:
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", ...
Where:
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:
name=altair
address=172.22.168.4
name=altair,address=172.22.168.4
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:
address=172.22.168.120 or
address=172.22.168.120.,name=regulus,dnsmaster
Note - Some nistbladm operations require that you enter a column=value pair for every column in the table.
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:
[search_criteria],tablename.directory
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:
[addr=172.22.168.4,cname=altair],hosts.org_dir.doc.com.
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:
UNIX groups. Information about UNIX groups is stored in the groups.org_dir table. Use nistbladm to administer UNIX group information.
Netgroups. Information about net groups is stored in the netgroups.org_dir table. Use nistbladm to administer net group information.
NIS+ groups. Information about NIS+ groups is stored in one or more tables in the groups_dir directory object. Use nisgrpadm to administer NIS+ group information.
(See Solaris Groups and NIS+ Groups for more information on the different types of groups and how to work with them.)