3. NIS か NYS か NIS+ か

3.1. libc 4/5 では trad-NIS か、それとも NYS ライブラリか?

trad-NIS を用いるか NYS ライブラリの NIS コードを用いるかは、 「低機能だが安定」をとるか「柔軟だが冒険」をとるかの選択と言えます。

trad-NIS のコードは標準 C ライブラリに入ってからだいぶ経っています。 生まれが古い分、やや柔軟性に欠けるところがあります。

一方 NYS ライブラリの NIS コードを用いるには、 libc ライブラリを再コンパイルして libnsl のコードを libc の中に含める必要があります (そのようにコンパイルされた libc ライブラリを入手できるかもしれません)。

もう一つの相違点として、 trad-NIS のコードでは NIS のネットグループ機能が使えますが、 NYS のコードには実装されていません。逆に NYS のコードでは Shadow Password を透過的に扱うことができるようになっていますが、 trad-NIS のコードは NIS 経由の Shadow パスワードをサポートしていません。

3.2. glibc 2 と NIS/NIS+

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 でまったく問題なく扱うことができます。

3.3. NIS か NIS+ か?

NIS と NIS+ の選択は簡単です。 特にセキュリティに過敏になる必要がなければ、NIS を使いましょう。 NIS+ の管理はずっと大変です (クライアント側ではそれほどでもありませんが、サーバー管理は地獄です)。 それに Linux 上での NIS+ には多くのバグがありますし、 開発は止まってしまっています。