「NIS」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:NISへの転送ページ)
 
1行目: 1行目:
  +
[[Category:セキュリティ]]
#redirect[[en:NIS]]
 
  +
[[en:NIS]]
  +
[[fr:NIS]]
  +
Network Information Service (NIS) は Sun によって開発されたユーザー情報をサーバーと共有するためのプロトコルです。サーバーソフトウェアは {{Pkg|ypserv}} パッケージに入っており、クライアントソフトウェアは {{Pkg|yp-tools}} パッケージに入っています。クライアントデーモンのマルチスレッド版である {{Pkg|ypbind-mt}} を使うこともできます。
  +
  +
{{note|この記事は未完成です。近く変更がされる予定ですが、それまでは[[#参照|参照セクション]]を確認してください。}}
  +
  +
== NIS サーバー ==
  +
  +
=== パッケージのインストール ===
  +
ypbind-mt, ypserv, yp-tools パッケージをインストールしてください:
  +
# pacman -S ypbind-mt yp-tools ypserv
  +
  +
=== 設定 ===
  +
  +
==== /etc/hosts ====
  +
  +
サーバーの (127.0.0.1 ではない) '''外部''' IP アドレスを hosts ファイルに追加してください。ファイルのコメントアウトされていない最初の行になるようにします。以下のように localhost の行よりも上に追加します:
  +
#
  +
# /etc/hosts: static lookup table for host names
  +
#
  +
  +
#<ip-address> <hostname.domain.org> <hostname>
  +
#::1 localhost.localdomain localhost
  +
192.168.1.10 nis_server.domain.com nis_server
  +
127.0.0.1 localhost.localdomain localhost nis_server
  +
# End of file
  +
  +
これは ypinit が {{ic|/etc/hosts}} の最初の行を ypservers のリストに追加するためです (これがバグか仕様かはハッキリしません)。
  +
  +
==== /etc/nisdomainname ====
  +
  +
ドメイン名を {{ic|/etc/nisdomainname}} に追加:
  +
  +
# NISDOMAINNAME="nis-domain-name"
  +
  +
==== /etc/ypserv.conf ====
  +
  +
以下の形式で nis クライアントのルールを {{ic|/etc/ypserv.conf}} に追加:
  +
  +
# ip-address-of-client : nis-domain-name : rule : security
  +
  +
例:
  +
  +
# 192.168. : home-domain : * : port
  +
  +
詳しくは {{ic|man ypserv.conf}} を参照。
  +
  +
==== /var/yp/Makefile ====
  +
  +
{{ic|/var/yp/Makefile}} の "all" ルールに NIS を用いて共有するファイルを追加または削除します。
  +
  +
デフォルト:
  +
  +
# all: passwd group hosts rpc services netid protocols netgrp \
  +
# shadow # publickey networks ethers bootparams printcap mail \
  +
# # amd.home auto.master auto.home auto.local passwd.adjunct \
  +
# # timezone locale netmasks
  +
  +
その後 NIS データベースを作成してください:
  +
  +
# cd /var/yp
  +
# make
  +
  +
もしくは自動的に作成させることもできます:
  +
  +
# /usr/lib/yp/ypinit -m
  +
  +
この場合、手動で {{ic|/var/yp/ypservers}} に行を追加する必要はありません。
  +
  +
==== /var/yp/securenets ====
  +
  +
{{ic|/var/yp/securenets}} にアクセスを制限するルールを追加:
  +
  +
# 255.255.0.0 192.168.0.0 # Gives access to anyone in 192.168.0.0/16
  +
  +
誰にでも権限を与えてしまうので、この行はコメントアウトするようにしましょう。
  +
  +
# 0.0.0.0 0.0.0.0
  +
  +
==== /var/yp/ypservers ====
  +
  +
サーバーを {{ic|/var/yp/ypservers}} に追加:
  +
  +
# your.nis.server
  +
  +
=== NIS デーモンの起動 ===
  +
{{note|デーモンは以下の順序で起動してください。}}
  +
  +
rpcbind を起動させてない場合、起動させる:
  +
# systemctl start rpcbind
  +
  +
ypbind を起動:
  +
# systemctl start ypbind
  +
  +
ypserv を起動:
  +
# systemctl start ypserv
  +
  +
ブート時にデーモンをロードさせたい場合は {{ic|systemctl start}} の代わりに {{ic|systemctl enable}} を使って下さい。
  +
  +
== NIS クライアント ==
  +
  +
=== パッケージのインストール ===
  +
まず必要なツールをインストールしてください。NIS を使うために必要な設定ファイルやツールが含まれています。
  +
# pacman -S yp-tools ypbind-mt
  +
  +
=== 設定 ===
  +
==== ドメイン名の設定 ====
  +
# ypdomainname EXAMPLE.COM
  +
  +
{{ic|/etc/yp.conf}} ファイルを編集して ypserver または nis サーバーを追加します。
  +
ypserver nis_server
  +
  +
==== /etc/hosts ====
  +
NIS サーバーを {{ic|/etc/hosts}} に追加すると良いでしょう。
  +
192.168.1.10 nis_server.domain.com nis_server
  +
  +
==== NIS デーモンの起動 ====
  +
{{note|デーモンは以下の順番で起動してください。}}
  +
rpcbind と ypbind デーモンを起動します。
  +
# systemctl start rpcbind
  +
# systemctl start ypbind
  +
  +
ブート時にデーモンをロードさせたい場合は {{ic|systemctl start}} の代わりに {{ic|systemctl enable}} を使って下さい。
  +
  +
==== テスト ====
  +
ここまでのセットアップをテストするために、yptest コマンドを実行します:
  +
# yptest
  +
  +
正しく動作しているようでしたら、NIS ユーザーデータベースの中身を見て下さい ({{ic|/etc/passwd}} と同じフォーマットで出力されます)。
  +
  +
==== /etc/nsswitch.conf ====
  +
NIS を実際に使ってログインするには {{ic|/etc/nsswitch.conf}} を編集する必要があります。passwd, group, shadow の行を以下のように修正してください:
  +
passwd: files nis
  +
group: files nis
  +
shadow: files nis
  +
  +
そして必ず再起動します:
  +
  +
# systemctl restart ypbind
  +
  +
NIS クライアントの設定に関する詳細は [http://www.tldp.org/HOWTO/NIS-HOWTO/settingup_client.html section 7 of The Linux NIS HOWTO] を見て下さい。
  +
  +
== 参照 ==
  +
*[http://www.tldp.org/HOWTO/NIS-HOWTO/ The Linux NIS HOWTO],very helpful and generally applicable to Arch Linux.
  +
*[http://www.yolinux.com/TUTORIALS/NIS.html YoLinux NIS tutorial]
  +
*[http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch30_:_Configuring_NIS Quick HOWTO, Configuring NIS]

2015年11月11日 (水) 21:35時点における版

Network Information Service (NIS) は Sun によって開発されたユーザー情報をサーバーと共有するためのプロトコルです。サーバーソフトウェアは ypserv パッケージに入っており、クライアントソフトウェアは yp-tools パッケージに入っています。クライアントデーモンのマルチスレッド版である ypbind-mt を使うこともできます。

ノート: この記事は未完成です。近く変更がされる予定ですが、それまでは参照セクションを確認してください。

NIS サーバー

パッケージのインストール

ypbind-mt, ypserv, yp-tools パッケージをインストールしてください:

# pacman -S ypbind-mt yp-tools ypserv

設定

/etc/hosts

サーバーの (127.0.0.1 ではない) 外部 IP アドレスを hosts ファイルに追加してください。ファイルのコメントアウトされていない最初の行になるようにします。以下のように localhost の行よりも上に追加します:

#
# /etc/hosts: static lookup table for host names
#

#<ip-address>	<hostname.domain.org>	<hostname>
#::1		localhost.localdomain	localhost
192.168.1.10   nis_server.domain.com   nis_server
127.0.0.1	localhost.localdomain	localhost nis_server
# End of file

これは ypinit が /etc/hosts の最初の行を ypservers のリストに追加するためです (これがバグか仕様かはハッキリしません)。

/etc/nisdomainname

ドメイン名を /etc/nisdomainname に追加:

# NISDOMAINNAME="nis-domain-name"

/etc/ypserv.conf

以下の形式で nis クライアントのルールを /etc/ypserv.conf に追加:

# ip-address-of-client : nis-domain-name : rule : security

例:

# 192.168. : home-domain : * : port

詳しくは man ypserv.conf を参照。

/var/yp/Makefile

/var/yp/Makefile の "all" ルールに NIS を用いて共有するファイルを追加または削除します。

デフォルト:

# all:  passwd group hosts rpc services netid protocols netgrp \
#         shadow # publickey networks ethers bootparams printcap mail \
#         # amd.home auto.master auto.home auto.local passwd.adjunct \
#         # timezone locale netmasks

その後 NIS データベースを作成してください:

# cd /var/yp
# make

もしくは自動的に作成させることもできます:

# /usr/lib/yp/ypinit -m

この場合、手動で /var/yp/ypservers に行を追加する必要はありません。

/var/yp/securenets

/var/yp/securenets にアクセスを制限するルールを追加:

# 255.255.0.0 192.168.0.0 # Gives access to anyone in 192.168.0.0/16

誰にでも権限を与えてしまうので、この行はコメントアウトするようにしましょう。

# 0.0.0.0      0.0.0.0

/var/yp/ypservers

サーバーを /var/yp/ypservers に追加:

# your.nis.server

NIS デーモンの起動

ノート: デーモンは以下の順序で起動してください。

rpcbind を起動させてない場合、起動させる:

# systemctl start rpcbind

ypbind を起動:

# systemctl start ypbind

ypserv を起動:

# systemctl start ypserv

ブート時にデーモンをロードさせたい場合は systemctl start の代わりに systemctl enable を使って下さい。

NIS クライアント

パッケージのインストール

まず必要なツールをインストールしてください。NIS を使うために必要な設定ファイルやツールが含まれています。

# pacman -S yp-tools ypbind-mt

設定

ドメイン名の設定

# ypdomainname EXAMPLE.COM

/etc/yp.conf ファイルを編集して ypserver または nis サーバーを追加します。

ypserver nis_server

/etc/hosts

NIS サーバーを /etc/hosts に追加すると良いでしょう。

192.168.1.10   nis_server.domain.com   nis_server

NIS デーモンの起動

ノート: デーモンは以下の順番で起動してください。

rpcbind と ypbind デーモンを起動します。

# systemctl start rpcbind
# systemctl start ypbind

ブート時にデーモンをロードさせたい場合は systemctl start の代わりに systemctl enable を使って下さい。

テスト

ここまでのセットアップをテストするために、yptest コマンドを実行します:

# yptest

正しく動作しているようでしたら、NIS ユーザーデータベースの中身を見て下さい (/etc/passwd と同じフォーマットで出力されます)。

/etc/nsswitch.conf

NIS を実際に使ってログインするには /etc/nsswitch.conf を編集する必要があります。passwd, group, shadow の行を以下のように修正してください:

passwd: files nis
group: files nis
shadow: files nis

そして必ず再起動します:

# systemctl restart ypbind

NIS クライアントの設定に関する詳細は section 7 of The Linux NIS HOWTO を見て下さい。

参照