このドキュメント中では多くの省略語が使われています。以下に重要な ものの説明を簡単に挙げておきます。
データベースマネジメント (DataBase Management)。 検索キーとデータとのペアを管理するデータベース機能を 持ったライブラリのこと。
動的リンクライブリ (Dynamically Linked Library)。 プログラムの実行時にリンクされるライブラリのこと。
NIS サーバが発行するキーワード。 NIS クライアント側が 使用する NIS サーバを特定するのに用いられる。 この domainname は DNS の "domain" と 同じものにする必要はなく、むしろ別にすべきである。
ファイル転送プロトコル (File Transfer Protocol)。コンピュータ間でファ イルを転送する時に用いられるプロトコルの一つ。
ネームサービスライブラリ (Name services libraly)。 SVR4 Unix における ネームサービス関連の命令 (getpwnam, getservbyname など) のライブラリ。 GNU libc では NIS (YP) および NIS+ 機能にこのライブラリを用いる。
ソケットサービスライブラリ (Socket services library)。ソケット関係の システムコール (socket, bind, listen など) を提供するライブラリ。 SVR4 Unix に実装されている。
ネットワーク情報サービス (Network Information Service)。ネットワーク 上のすべての計算機で必要な情報を共有するサービスのこと。 Linux の標準 libc ライブラリには NIS のサポートが含まれており、これをこの文書では "trad-NIS" と記す。 (訳注:原文では "traditional NIS" でしたが、長いので訳者が 勝手に造語しました)
Network Information Service (Plus)。基本的には NIS を機能アップしたも の。 NIS+ は Sun Microsystems Inc. によって設計され、 NIS を後継するも のとされている。セキュリティが強化され、大きなシステムに 導入するのが容易になっている。
NYS は「NIS+、 YP、 Switch」を表すプロジェクト名である。 Peter Eriksson
<pen@signum.se>
が管理している。このプロジェクトでは
NIS(=YP) のコードを 0 から再実装しており、 NYS ライブラリのネームサー
ビススイッチ機能を利用するようになっている。
ネームサービススイッチ (Name Service Switch)。ファイル /etc/nsswitch.conf によって、各種の情報のリクエストに対して、どんな順 番で検索が行われるかを決定する。
リモートプロシージャコール (Remote Procedure Call)。 C プログラム内で RPC ルーチンを利用すれば、ネットワーク上にある他の計算機上の手続き(サブ ルーチン)を呼びだすことができる。通常の文脈においては Sun の RPC 実装の 意味で用いられることが多い。
イエローページ (電話帳) (Yellow Pages (TM)) Yellow Pages は 英国 British Telecom 社の登録商標。
Transmission Control Protocol/Internet Protocol の略。 TCP/IP は Unix で非常によく使われているデータ通信プロトコルである。
次の内容は Sun(tm) System & Network Administration Manual から引用 したものです。
NIS はかつて サン・イエローページ (Sun Yellow Pages, YP) と呼ばれていま した。しかし「Yellow Pages」は英国 British Telecom 社の登録商標で、許 可無く使用することができませんので、 NIS と呼ぶことにしました。
NIS は Network Information Service の略です。ネットワーク上のすべての 計算機で共有すべき情報を提供する目的で用いられます。 NIS で提供され る情報とは、例えば以下のようなものです。
/etc/passwd
)/etc/group
)例えば、あなたのパスワードが NIS の パスワードデータベースに登録され ているとしましょう。するとあなたはネットワーク上で NIS の クライアン トプログラムが動いている計算機なら、どの計算機にもログインすることがで きるようになるのです。
Sun は Sun Microsystems 社の商標であり、 SunSoft 社にライセンス供与さ れています。
trad-NIS を用いるか NYS ライブラリの NIS コードを用いるかは、 「低機能だが安定」をとるか「柔軟だが冒険」をとるかの選択と言えます。
trad-NIS のコードは標準 C ライブラリに入ってからだいぶ経ってい ます。生まれが古い分、やや柔軟性に欠けるところがあります。
一方 NYS ライブラリの NIS コードを用いるには、libc
ライブラリを再コンパイルして libnsl
のコードを libc
の中に含め
るかする必要があります (そのようにコンパイルされた libc ライブラリを
入手できるかもしれません)。
また trad-NIS のコードでは NIS のネットグループ機能が使えますが、 NYS のコードには実装されていません。逆に NYS のコードでは Shadow Password を透過的に扱うことができるようになっていますが、 trad-NIS の コードは NIS 上での Shadow パスワードをサポートしていません。
GNU C Library 2.x (libc6 とも呼ばれます) を使っている場合は、以上 の全ては忘れて下さい。 libc6 では NSS (ネームスイッチサービス) を 完全にサポートしており、非常に柔軟な運用ができるようになっています。 また以下の NIS/NIS+ マップがサポートされています: aliases, ethers, group, hosts, netgroups, networks, protocols, publickey, passwd, rpc, services, shadow. GNU C Library では、 shadow パスワードを NIS でまったく問題なく 扱うことができます。
どちらを選ぶか悩む必要はありません。 特にセキュリティに過敏になる必要が なかったり、NIS+ を使わねばならない理由がないのなら、 NIS を使いましょう。 NIS+ の管理はずっと大変です (クライアント側ではそれほどでもありませんが、サーバー管理は地獄です)。 Linux 上での NIS+ はまだ 開発段階です。利用するには最新版の glibc 2.1 が必要があります。 ちょっと試してみたい場合には、 glibc の NIS+ サポートを libc5 に移植したものも存在します (ただしこれは未サポート)。