引言
網絡信息服務擴充版本 (NIS+) 是用於網絡命名和管理的服務,可擴展由網絡信息服務 (NIS) 提供的服務。NIS+ 在客戶機-服務模式下工作,它在中央位置存儲信息,並允許客戶機通過網絡訪 問它。稱為 NIS+ 命名空間 的此中央位置可以存儲信息(如安全詳細信息、工作站地址和郵件信息等) 。
NIS+ 命名空間在本質上具有分層結構,按照組織的邏輯結構可以很容易地配置它。NIS+ 還具 有保護命名空間的結構及其信息的指定安全系統;它檢查身份驗證和授權,以處理用戶的請求。
本文總結了 NIS+ 安裝、配置和管理的基本步驟和命令。
安裝和配置
安裝和配置示例使用 以下計算機名稱作為根服務器和客戶機:
NIS+ 服務器:服務器 (9.124.111.62)
NIS+ 客 戶機:客戶機 (9.124.111.61)
安裝
NIS+ 的安裝需要 bos.net.nisplus 文件集。
使用以下命令檢查文件集的可用性:
# lslpp –l | grep bos.net.nisplus
計劃 NIS+ 布局包括選擇根域名稱、根服務器計算機、客戶機和從計算 機的信息。准備一份域層次結構的草圖在配置 NIS+ 時也會比較有用。
在 /usr/lib/security/methods.cfg 文件中應定義了 NISPLUS 模塊,如下所示:
NISPLUS:
program = /usr/lib/security/NISPLUs
NISPLUS 加載模塊應在 /usr/lib/security 中 獲得。
在 /etc/security/user 文件中,將缺省部分中的 SYSTEM 屬性定義為 NISPLUS 或 compat:
default:
SYSTEM = NISPLUS OR compat
在缺省 PATH 中包括 /usr/lib/nis 目錄,如下所示:
# export PATH=$PATH:/usr/lib/nis
配置
開始配置 NISPLUS 服務器需要根域名稱。讓我們使用根域名稱 isl.com。
執行 nisserver 命令,如下所示:
# nisserver -r -d isl.com
您應該看到以下顯示 內容:# nisserver -r -d isl.com.
0513-059 The keyserv Subsystem has been started. Subsystem PID is 303260.
This script sets up this machine "indus29" as an NIS+
root master server for domain isl.com..
Domain name : isl.com
NIS+ group : admin.isl.com
NIS (YP) compatibility : OFF
Security Level : 2=DES
Is this information correct? (type 'y' to accept, 'n' to change)
通過選擇 n 更改上面定義的屬性,並選擇 y 以繼續。
您應該看到以下顯示內容:This script will set up your machine as a root master server for
domain isl.com without NIS compatibility at security level 2.
WARNING: this script removes directories and files related to
NIS+ under /var/nis directory with the exception of the client_info
NIS_COLD_START and NIS_SHARED_DIRCACHE files which will be
renamed to <file>.no_nisplus. If you want to save these files,
you should abort from this script now to save these files first.
WARNING: once this script is executed, you will not be able to
restore the existing NIS+ server environment. However, you can
restore your NIS+ client environment using "nisclient -i"
with the proper domain name and server information.
Do you want to continue? (type 'y' to continue, 'n' to exit this script)
選擇 y 以繼續,它將觸 發設置 NIS+ 服務器。
下一步是填充本地文件的 NIS+ 表。您可以使用下面的系列步驟,將所需 的文件復制到 /var/tmp/nisplus 目錄,然後使用 nispopulate 命令填充該表。這可能要花很長的時間 ,具體決取於系統中用戶的數量。
# mkdir -p /var/tmp/nisplus
# cp /etc/passwd /var/tmp/nisplus/passwd
# cp /etc/hosts /var/tmp/nisplus/hosts
# cp /etc/group /var/tmp/nisplus/group
# cp /etc/rpc /var/tmp/nisplus/rpc
# cp /etc/protocols /var/tmp/nisplus/protocols
# cp /etc/networks /var/tmp/nisplus/networks
# cp /etc/services /var/tmp/nisplus/services
# cd /var/tmp/nisplus
# /usr/lib/nis/nispopulate -v -F -f -l <passwd>
您需要使用 nispopulate 命令設置一個密碼,該密碼稍後會用於 客戶機和服務器之間的通信。
使用以下命令將根服務器添加到主機表:
nistbladm –A cname=<rootservername.domainname.> name=<rootservername>
addr=<ipaddress of rootserver> hosts.org_dir.domainname
例如: nistbladm -A cname=server.isl.com. name=server addr=9.124.111.62 hosts.org_dir.isl.com
|--10--------20--------30--------40--------50--------60--------70--------80------ --9|
|-------- XML error: The previous line is longer than the max of 90 characters - --------|
將此項添加到主機表將完成 NIS+ 服務器配置。
要檢查服務器是否啟動 ,請運行以下命令:
# niscat passwd.org_dir
# nisls
使用以下命令將 客戶機添加到 NIS+ 服務器上的主機表:
# nistbladm –A cname=<clientname.domainname.> name=<clientname>
addr=<ipaddress of the client> hosts.org_dir.domainname.
例如:# nistbladm -A cname=client.isl.com. name=client addr=9.124.111.61 hosts.org_dir.isl.com
|--10------- -20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|
將 客戶機添加到主機表後,請轉到客戶機,並通過使用以下命令初始化客戶機:
# /usr/lib/nis/nisclient -D
# stopsrc -s keyserv
# /usr/lib/nis/nisclient -i -h <rootservername> -a <rootserverip> -d <domainname>
例如: # /usr/lib/nis/nisclient -i -h server -a 9.124.113.62 -d isl.com
重新啟動 客戶機:
# shutdown -Fr
現在完成了 NIS+ 客戶機的配置。
您可以從客 戶機使用 nisstat 命令檢查服務器詳細信息。這樣可以確保設置正確。
# nisstat
管理
本部分將討論 NIS+ 設置的常規管理和基本命令。
要停止 NIS+ 和刪除域名,請輸入以下內容:
# stopsrc -s nis_cachemgr
# /usr/lib/nis/nisserver -D
# stopsrc -s keyserv
# /usr/lib/nis/nisclient –D
刪除 /var/nis/ 目錄中的所有文件。
要創建組,請檢查域名,並使用 nisgrpadm 命令創建組(例如 testgrp)。
# domainname
isl.com
# nisgrpadm -c testgrp.isl.com
Group "testgrp.isl.com" created
要查看組是否形成 ,請輸入:
# nisls groups_dir
groups_dir.isl.com:
admin
testgrp
要創建 NIS+ 用戶(例如 nispuser),請輸入:
# nismkuser nispuser
要顯示用戶,請輸入:
# niscat passwd.org_dir
類似 地,您可以使用 niscat 命令檢查 NIS+ 表中是否存在多個項。例如,您可以使用它顯示主機項,如下所 示:
# niscat -h hosts.org_dir
要將用戶添加到組,請輸入:
# nisgrpadm -a testgrp nispuser
該命令已將 nispuser.isl.com 添加到 testgrp.isl.com 組。
要檢查 testgrp 組的組項,請輸入:
# nisgrpadm -l testgrp.isl.com
要檢查 testgrp.isl.com 組的組項,請輸入:
nispuser
另一個有用的命令是 nisls,可以使用該命令檢查 NIS+ 表的項 。例如,要列出已填充的表,請輸入:
# nisls org_dir
要列出組,請輸入:
# nisls groups_dir
結束語
盡管 NIS+ 在某些方面超過 NIS,但是 務必注意,NIS+ 和 NIS 之間沒有任何關系。NIS+ 的命令和整體結構與 NIS 不同。NIS+ 中的某些命令 語法與 NIS 的命令不同。NIS+ 是從頭設計的,而不是 NIS 的擴展。
有關用於 NIS+ 管理的其他 命令的詳細信息,請參見參考資料部分中的網絡信息服務(NIS 和 NIS+)指南。