My覚え書き@Wiki

NIS の設定

最終更新:

匿名ユーザー

- view
メンバー限定 登録/ログイン
#blognavi

NIS の設定

1. 概要


  • NIS (Network Information Service) はネットワーク上の複数の計算機で共有すべき情報を一元管理するためのUNIXにおける標準的な手法である.様々な情報の管理が行えるが,多くは,ユーザやホスト情報の管理に用いられる.

  • NIS サーバでは ypserv というデーモンプログラムと yppasswdd が実行されている. yppasswdd はクライアントで実行された yppasswd コマンドの要求に従って,サーバ側のパスワードを変更するデーモンプログラムである.

  • NIS のクライアントでは ypbind というデーモンプログラムを実行する.

  • 最初の起動時に ypbind がサーバを探すには大きく二つの方法がある.一つはブロードキャストを用いる方法で,この場合には ypbind にはサーバの名前を明示的に指定しない.もう一つの方法はサーバ名を ypbind のオプションを用いて明示的に指定する方法である.サーバを明示的に指定する場合,クライアントでは以下のような設定を行なう.

   * ドメイン名の設定
   * ホストファイルの設定
   * パスワードファイルの設定
   * グループファイルの設定
   * ypbind の設定
   * その他の設定 

2. ドメイン名の設定


  • ドメイン名の設定には domainname コマンドを用いる.例えば NIS のドメイン名が doineau.cla.kobe-u.ac.jp の場合は以下のように実行する.

% domainname doineau.cla.kobe-u.ac.jp

  • 実際には,このコマンドは rc ファイル内で実行されており,ドメイン名の設定は,他のネットワークの設定と同様に外部の設定ファイルを用いる. RedHat系OSの場合は/etc/sysconfig/networkのNISDOMAINに記述される.一部の OS では /etc/defaultdomain という単独のファイルにドメイン名を記述する場合もあるので注意する.

3. ホストファイルの設定


  • 基本的に,NIS クライアントはホストの情報を NIS サーバから取得するので,ホストファイル /etc/hosts には自分自身の設定のみを以下のように記述する.

127.0.0.1          localhost
133.30.244.XXX     myhostname

4. パスワードファイルの設定


  • パスワードの情報も NIS サーバから取得するので,個々の記述は行なわない.しかし,NIS サーバからパスワード情報を取得するということを明示する必要がある.これには + エントリを用いる. + 記号で始まるエントリは,該当するユーザ情報を NIS サーバから取得することを示す.例えば以下のようなエントリがあった場合,NIS のユーザ foo の情報が該当行に挿入されると考えると良い.

+foo::::::

  • ユーザ名を指定しない,以下のような場合には,NIS で提供される全てのユーザ情報を挿入することを表している.

+::::::

  • FreeBSD の場合には master.passwd に手を加えるので,: (コロン)の数が異なることに注意すること.いずれの場合も vipw コマンドを用いてパスワードファイルを書き換える.

5. グループファイルの設定


  • グループファイルにもパスワードファイルと同様に + エントリを設けて,NIS のデータベースから情報をインポートすることを明示する必要がある.具体的には,/etc/group ファイルの最後に,以下のように+ のみの行があれば良い.

+:

  • OS によっては,スクリプトを使って NIS の設定をしただけでこれを追加してくれるものもあるのであまり気にしなくても良いが,一応確認しておこう.

6. ypbind の設定


  • FreeBSD では ypbind のオプションとしてドメイン名と NIS サーバ名を指定できる.これを用いることによりセグメントを跨がった NIS を張ることができる.このためには-Sオプションを用いて以下のようにypbindを起動する.

% ypbind -S 
doineau.cla.kobe-u.ac.jp,nis.cla.kobe-u.ac.jp

  • また,同時に -s オプションを付けることにより,特定のポートへの接続のみを許可する事ができ,安全性が向上する.実際にこれらの設定は FreeBSD ならば /etc/rc.conf に記述する.変更には /stand/sysinstall コマンドを用いる.

  • Red Hat Linux では,/etc/yp.conf というファイルにドメイン名とサーバ名を以下のように記述する.

domain doineau.cla.kobe-u.ac.jp server 
nis.cla.kobe-u.ac.jp

  • ただし,NISサーバ名を指定する場合には,/etc/hostsにそのサーバ名に対するIPアドレスが定義されているか,DNSでそのサーバ名に対するIPアドレスが引けることが必要であるので,その設定を先に行うこと.

  • 一般的には,サーバは検索され,プライマリサーバかセカンダリサーバのいずれかが自動的に選択されるので,特にサーバを指定しなくても良かったが,ネットワーク内に異なる部署の計算機が存在する場合には,その計算機への問い合わせをなくすためにもサーバを指定して ypbindを起動するほうが良い.

6. その他の設定


  • OS によっては,DNS の設定と同様に,ユーザおよびホストの情報を NIS のデータベースからも検索することを明示的に指定する必要がある. FreeBSD では /etc/host.conf に, RedHat Linux では /etc/nsswitch.conf に記述する.

  • 例えば,RedHat Linux では,/etc/nsswitch.conf の passwd およびgroup,hosts の行が以下のようになっていなければパスワードなどのNISへの問い合わせを行わないので注意しよう.

passwd:     files nisplus nis
group:      files nisplus nis
hosts:      files nisplus nis dns

7. 設定の確認


  • NIS の設定は,まず domainname コマンドでドメイン名が正しく設定されているか,次に ypwhich コマンドで NIS のサーバが正しく設定されているかが確認できる.これらの結果が以下のようになっていれば良い.

% domainname
doineau.cla.kobe-u.ac.jp

% ypwhich
nis.cla.kobe-u.ac.jp

  • また,正しくデータベースが引けているかどうかは ypcat コマンドで確認をする.例えば,ホスト情報を確認するには以下のようにコマンドを実行する.

% ypcat hosts


カテゴリ: [linux] - &trackback() - 2006年03月29日 17:23:44
名前: コメント:
#blognavi
ウィキ募集バナー