/usr/lib/nis/nispopulate -Y [-x] [-f] [-n] [-u] [-v] [-S 0 | 2] [-l <network_passwd>] [-d <NIS+_domain>] -h <NIS_server_host> [-a <NIS_server_addr>] -y <NIS_domain> [table] ...
/usr/lib/nis/nispopulate -F [-x] [-f] [-u] [-v] [-S 0 | 2] [-d <NIS+_domain>] [-l <network_passwd>] [-p <directory_path>] [table] ...
/usr/lib/nis/nispopulate -C [-x] [-f] [-v] [-d <NIS+_domain>] [-l <network_passwd>] [hosts | passwd]
The nispopulate shell script can be used to populate NIS+ tables in a specified domain from their corresponding files or NIS maps. nispopulate assumes that the tables have been created either through nisserver(1M) or nissetup(1M).
The table argument accepts standard names that are used in the administration of Solaris systems and non-standard key-value type tables. See nisaddent(1M) for more information on key-value type tables. If the table argument is not specified, nispopulate will automatically populate each of the standard tables. These standard (default) tables are: auto_master, auto_home, ethers, group, hosts, ipnodes, networks, passwd, protocols, services, rpc, netmasks, bootparams, netgroup, aliases and shadow. Note that the shadow table is only used when populating from files. The non-standard tables that nispopulate accepts are those of key-value type. These tables must first be created manually with the nistbladm(1) command.
Use the first synopsis (-Y) to populate NIS+ tables from NIS maps. nispopulate uses ypxfr(1M) to transfer the NIS maps from the NIS servers to the /var/yp/<NIS_domain> directory on the local machine. Then, it uses these files as the input source. Note that <NIS_domain> is case sensitive. Make sure there is enough disk space for that directory.
Use the second synopsis (-F) to populate NIS+ tables from local files. nispopulate will use those files that match the table name as input sources in the current working directory or in the specified directory.
Note that when populating the hosts, ipnodes, and passwd tables, nispopulate will automatically create the NIS+ credentials for all users and hosts (ipnodes) that are defined in the hosts, ipnodes, and passwd tables, respectively. A network passwd is required to create these credentials. This network password is used to encrypt the secret key for the new users and hosts. This password can be specified using the -l option or it will use the default password, nisplus. nispopulate will not overwrite any existing credential entries in the credential table. Use nisclient(1M) to overwrite the entries in the cred table. It creates both LOCAL and DES credentials for users, and only DES credentials for hosts. To disable automatic credential creation, specify the "-S 0" option.
The third synopsis (-C) is used to populate NIS+ credential table with level 2 authentication (DES) from the hosts, ipnodes and passwd tables of the specified domain. The valid table arguments for this operation are hosts, ipnodes and passwd. If this argument is not specified then it will use hosts, ipnodes and passwd as the input source. If other authentication mechanisms are configured using nisauthconf(1M), the NIS+ credential table will be loaded with credentials for those mechanisms.
If nispopulate was earlier used with "-S 0" option, then no credentials were added for the hosts or the users. If later the site decides to add credentials for all users and hosts, then this (-C) option can be used to add credentials.
Example 1 Using nispopulate
To populate all the NIS+ standard tables in the domain xyz.sun.com. from NIS maps of the yp.sun.COM domain as input source where host yp_host is a YP server of yp.sun.COM:
nis_server# /usr/lib/nis/nispopulate -Y -y yp.sun.COM \ -h yp_host -d xyz.sun.com.
To update all of the NIS+ standard tables from the same NIS domain and hosts shown above:
nis_server# /usr/lib/nis/nispopulate -Y -u -y yp.sun.COM -h yp_host \ -d xyz.sun.com.
To populate the hosts table in domain xyz.sun.com. from the hosts file in the /var/nis/files directory and using somepasswd as the network password for key encryption:
nis_server# /usr/lib/nis/nispopulate -F -p \ /var/nis/files -l somepasswd hosts
To populate the passwd table in domain xyz.sun.com. from the passwd file in the /var/nis/files directory without automatically creating the NIS+ credentials:
nis_server# /usr/lib/nis/nispopulate -F -p /var/nis/files \ -d xys.sun.com. -S 0 passwd
To populate the credential table in domain xyz.sun.com. for all users defined in the passwd table.
nis_server# /usr/lib/nis/nispopulate -C -d xys.sun.com. passwd
To create and populate a non-standard key-value type NIS+ table, private, from the file /var/nis/files/private: (nispopulate assumes that the private.org_dirkey-value type table has already been created).
nis_server# /usr/bin/nistbladm -D access=og=rmcd,nw=r \ -c private key=S,nogw= value=,nogw= private.org.dir nis_server# /usr/lib/nis/nispopulate -F -p /var/nis/files private
nispopulate normally creates temporary files in the directory /tmp. You may specify another directory by setting the environment variable TMPDIR to your chosen directory. If TMPDIR is not a valid directory, then nispopulate will use /tmp).
See attributes(5) for descriptions of the following attributes:
NIS+(1), nistbladm(1), nisaddcred(1M), nisaddent(1M), nisauthconf(1M), nisclient( 1M), nisserver(1M), nissetup(1M), rpc.nisd(1M), ypxfr(1M), attributes(5)
NIS+ might not be supported in future releases of the Solaris operating system. Tools to aid the migration from NIS+ to LDAP are available in the current Solaris release. For more information, visit http://www.sun.com/directory/nisplus/transition.html.