ネームサービスとは
名前解決とユーザー認証の集中管理
DNSはホスト名の名前解決のみ
NIS,NIS+,LDAPはホスト名の名前解決とユーザー認証が可能
ネームサービスの種類
システム起動時のシステム認識プロセスでネームサービスより取得される情報
1.IPアドレス
2.ホスト名
3.ネームサービス
■/etc/nsswitch.conf
ネームサービスにはいくつか種類があり、/etc/nsswitch.confファイルでその適用と適用する順番の設定を行う
nsswitch.confでfileキーワードで指定するかローカルファイルによるものとサーバーが情報を持っているものがある
「files」キーワードで指定する主なローカルファイル
passwd: /etc/passwd
hosts: /etc/inet/hosts
ethers: /etc/ethers
■DNSクライアント(レゾルバ)
インストール中の構成項目
=>レゾルバ設定ファイル/etc/resolv.confに反映される
domain 自分が属するドメイン名
ホスト名のみ(ドメインなし)で検索対象ホスト名を指定した際に補完されるドメイン名
search ホスト名の検索対象ドメイン
(任意)ホスト名での検索
検索対象ホスト名を指定した場合に複数ドメインにまたがって検索対象とするドメイン
nameserver DNSサーバーIPアドレス。この項目は絶対に必要。
自分自身がDNSサーバーの場合は「0.0.0.0」を指定
DNSで名前解決が出来ない場合
ローカルの/etc/inet/host/
または/etc/inet/ipnodesで処理
■NISとは
NIS(Network Information Services)とは
ネットワーク上の複数のUNIXコンピューター間でホスト情報やユーザーログイン情報などを集中管理することによりネットワーク管理の機能を高める
集中管理できるソース
ユーザー名とパスワード
ネットワーク上のホストのグループ
ホスト名とIPアドレス
コマンドはypから始まる
■NISの管理単位
NIS名前空間(NIS Name Space)
一番大きい集合体
DNSと違い階層化されずフラット(NIS+では階層化されている)
NISドメイン
特定のルールに従うNISマップの集合
NISマップ
NISネームスペース情報の保存に使われるデータベース
/etc配下の構成ファイルを置き換える
NISの構成ファイルはNISマップに保存される
■NISの構成要素
NISサーバー
マスターサーバー
最初にNISマップを作成したサーバでその更新を行う。更新は各スレーブサーバーにレプリケートされる
スレーブサーバー
負荷分散と冗長構成を目的としたマスターサーバーの複製
各サブネットに1台以上スレーブサーバーを設置すればマスターサーバーの負荷削減ができる
NISクライアント
NISのクライアント
NISクライアントはサーバーのマスタとスレーブを区別しない
■NISサーバー
サーバーデーモン
/usr/lib/netsvc/yp/ypstartから起動されるデーモン
以下の2つはスレーブサーバーのみ
ypserv NISサーバーデーモン(複数のNISドメインを稼働可)
ypbind バインディングデーモン
RPC系のデーモン
rpc.yppasswdd パスワードを更新するデーモン(マスターサーバーのみ
rpc.ypupdated publickeyなど他のマップを変更するデーモン(マスターサーバーのみ)
NISサーバーの起動方法
# svcadm△enable△svc:/network/nis/server
FMRIは短縮形「nis/server」でもよい
# /usr/lib/netsvc/yp/ypstart
■NISマップの作成
新しいNISマップを作成するときはMakefileファイルとmakeコマンドでマップファイルを/var/yp/
主なマップの種類
マップ名/ソースファイル名(/etc):キー名
hosts: hosts.byaddr hosts.byname
passwd shadow:passwd.byname passwd.byuid
※「.byname」は名前で「.byuid」はuidで検索できるキー
■Makefileの変更
マップの追加と削除、ディレクトリの変更にはMakefileファイルを編集する
■NISマップの関連コマンド
ypcat[-k] △NISマップ名
マップを指定してその内容を表示する
-k オプション
通常NULL値などのキーを表示しないか-kオプションをつけることによって全てを表示する
ypmatch[-k 検索キー]△NISマップ名
マップを検索する
■Makefileファイルの編集
1.allで始まる行に追加したデータベース名を追加
2.最後の行に以下を追加
auto_direct:auto_direct.time
auto_home:auto_home.time
※auto_direct:auto_direct.time
auto_directの依存性はauto_direct.timeの依存性が満たされた場合に満たされる
3.auto_direct.time エントリを追加
auto_direct.time:$(DIR)/auto_direct
※auto_direct.time:$(DIR)/auto_direct
auto_direct.timeの依存性が有効になるには$(DIR)/auto_directファイルが存在しなければならない
4.makeを実行
#make△ mapname
※コマンドプロンプトが戻らず(Ctrl+C)で停止しなければならないような場合はMakefileに文法的誤りがないとすると新しいマップはスレーブサーバーに転送されない
■NISマップの配付
1.マスターサーバー上で「cd/var/ypi/usr/ccs/bin/make」を実行
2.全スレーブサーバー上で「/usr/lib/netsve/yp/ypxfr」を実行
3.全スレーブサーバー上で「ypinit -s」を実行
■NISクライアントの構成
その1:非ブローキャスト(ypinitを使用)
1.システムのドメイン名を設定する
2.NISサーバーのホスト名とアドレスを/etc/inet/hostに追加
3.#ypinit△-c
4.#svcadm△enable△nis/client
その2:ブロードキャスト(旧来の方法)
1.#domainname△abc.com ※1
2.△mv△/var/yp/binding/'domainname'/ypservers ?
/var/yp/binding/'domainname'/ypservers.bak ※2
3.#svcadm△clear△svc:/network/nis/client:default
または
ypstart ※3
※1 マシンにroot としてログインしdomainnameコマンドでドメイン名を設定
※2 ypbindを実行。ypserversファイルが存在しない場合ypstartはNISクライアントをブロードキャストモードで自動的に起動する
NISサーバーを指定する場合はypserver に指定
※3 サービスのスタート(svcadm or ypstart)
■LDAPとは
LDAP(Lightweight Diretory Access Protocol)とはディレクトリデータベースへアクセスするためのプロトコル
ディレクトリサービスとはネットワークを利用する
ユーザー名やマシン名など様々な情報を管理するためのサービスのことでユーザー名などキーとなる値から様々な情報を検索することが可能
LDAPを実装した主な製品
Active Directory(MicroSoft)
SunONE Directory Server(Sun Microsystems)
RedHat Directory Server(Rec Hat)
OpenLDAP
■LDAPクライアントの要件
以下のうちサーバーの起動以外の全てはldapclientツールを使って設定できる
属するドメインでLDAPサーバーが実行されている
nsswitch.confファイルで必要なエントリがLDAPを指している
クライアントかその動作かを定義するための特定のパラメータをすべて使って構成されている
プロファイル更新デーモンldap-cachemgrがクライアントで実行されている
クライアントが構成されているサーバーが1つ以上起動され実行されている
NISクライアントでないこと(NISクライアントとは排他)
■LDAPクライアントの構成ファイル
/var/ldapldap_clientfile
LDAPクライアントの構成ファイル
/var/ldap/ldap_client_cred
プロキシ識別情報を使用する場合にproxyDNおよびproxyPasswod を保存するファイル
ldaplist
LDAPサーバーの名前情報
(LDAPコンテナをリストするユーティリティ)
■LDAPクライアント関連コマンド
ldaplist
LDAPクライアントの構成情報やLDAPが提供する情報(LDAPコンテナ)をリストするコマンド
ldapclient
LDAPクライアントの構成と破棄を行うコマンド
構成 ldapclient△ init
破棄 ldapclient△uninit