「NIS」の版間の差分
(en:NISへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (カテゴリを修正) |
||
(2人の利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:ディレクトリサービス]] |
||
− | #redirect[[en:NIS]] |
||
+ | [[en:NIS]] |
||
+ | [[fr:NIS]] |
||
+ | Network Information Service (NIS) は Sun によって開発されたユーザー情報をサーバーと共有するためのプロトコルです。サーバーソフトウェアは {{AUR|ypserv}} パッケージに入っており、クライアントソフトウェアは {{AUR|yp-tools}} パッケージに入っています。クライアントデーモンのマルチスレッド版である {{AUR|ypbind-mt}} を使うこともできます。 |
||
+ | |||
+ | {{note|この記事は未完成です。近く変更がされる予定ですが、それまでは[[#参照|参照セクション]]を確認してください。}} |
||
+ | |||
+ | == NIS サーバー == |
||
+ | |||
+ | === パッケージのインストール === |
||
+ | {{AUR|ypbind-mt}}, {{AUR|ypserv}}, {{AUR|yp-tools}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | === 設定 === |
||
+ | |||
+ | ==== /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 |
||
+ | |||
+ | ==== ドメイン名の設定 ==== |
||
+ | # ypdomainname EXAMPLE.COM |
||
+ | |||
+ | {{ic|/etc/yp.conf}} ファイルを編集して ypserver または nis サーバーを追加してください: |
||
+ | ypserver nis_server |
||
+ | |||
+ | === NIS デーモンの起動 === |
||
+ | {{note|デーモンは以下の順序で起動してください。}} |
||
+ | |||
+ | 以下の systemd ユニットを[[起動]]・[[有効化]]してください: |
||
+ | * {{ic|rpcbind.service}} |
||
+ | * {{ic|ypbind.service}} |
||
+ | * {{ic|ypserv.service}} |
||
+ | * {{ic|yppasswdd.service}} (クライアントから {{ic|passwd}} でパスワードを変更できるようにする場合) |
||
+ | |||
+ | == NIS クライアント == |
||
+ | |||
+ | === パッケージのインストール === |
||
+ | まず {{AUR|yp-tools}} と {{AUR|ypbind-mt}} パッケージをインストールしてください。NIS を使うために必要な設定ファイルやツールが含まれています。 |
||
+ | |||
+ | === 設定 === |
||
+ | ==== ドメイン名の設定 ==== |
||
+ | # ypdomainname EXAMPLE.COM |
||
+ | |||
+ | {{ic|/etc/nisdomainname}} を編集して以下のように追加することで永続的に設定できます: |
||
+ | NISDOMAINNAME="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|デーモンは以下の順番で起動してください。}} |
||
+ | {{ic|rpcbind.service}} と {{ic|ypbind.service}} ユニットを[[起動]]・[[有効化]]してください。 |
||
+ | |||
+ | ==== テスト ==== |
||
+ | ここまでのセットアップをテストするために、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] を見て下さい。 |
||
+ | |||
+ | ==== /etc/pam.d/passwd ==== |
||
+ | クライアントマシンからサーバーのパスワードを変更できるようにするには、サーバーで {{ic|yppasswdd.service}} を起動してください。 |
||
+ | |||
+ | クライアントの {{ic|/etc/pam.d/passwd}} を編集して {{ic|nis}} パラメータを {{ic|password/pam_unix.so}} に追加: |
||
+ | password required pam_unix.so sha512 shadow nullok nis |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | === systemd 235 の問題 === |
||
+ | systemd-logind のサンドボックスの問題によって、systemd-logind サービスの IP 接続が拒否される場合、以下のように設定が必要です: |
||
+ | |||
+ | {{hc|/usr/lib/systemd/system/systemd-logind.service| |
||
+ | <nowiki># IPAddressDeny=any</nowiki>}} |
||
+ | |||
+ | == 参照 == |
||
+ | *[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] |
2023年4月18日 (火) 13:40時点における最新版
Network Information Service (NIS) は Sun によって開発されたユーザー情報をサーバーと共有するためのプロトコルです。サーバーソフトウェアは ypservAUR パッケージに入っており、クライアントソフトウェアは yp-toolsAUR パッケージに入っています。クライアントデーモンのマルチスレッド版である ypbind-mtAUR を使うこともできます。
NIS サーバー
パッケージのインストール
ypbind-mtAUR, ypservAUR, yp-toolsAUR パッケージをインストールしてください。
設定
/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
ドメイン名の設定
# ypdomainname EXAMPLE.COM
/etc/yp.conf
ファイルを編集して ypserver または nis サーバーを追加してください:
ypserver nis_server
NIS デーモンの起動
以下の systemd ユニットを起動・有効化してください:
rpcbind.service
ypbind.service
ypserv.service
yppasswdd.service
(クライアントからpasswd
でパスワードを変更できるようにする場合)
NIS クライアント
パッケージのインストール
まず yp-toolsAUR と ypbind-mtAUR パッケージをインストールしてください。NIS を使うために必要な設定ファイルやツールが含まれています。
設定
ドメイン名の設定
# ypdomainname EXAMPLE.COM
/etc/nisdomainname
を編集して以下のように追加することで永続的に設定できます:
NISDOMAINNAME="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.service
と ypbind.service
ユニットを起動・有効化してください。
テスト
ここまでのセットアップをテストするために、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 を見て下さい。
/etc/pam.d/passwd
クライアントマシンからサーバーのパスワードを変更できるようにするには、サーバーで yppasswdd.service
を起動してください。
クライアントの /etc/pam.d/passwd
を編集して nis
パラメータを password/pam_unix.so
に追加:
password required pam_unix.so sha512 shadow nullok nis
トラブルシューティング
systemd 235 の問題
systemd-logind のサンドボックスの問題によって、systemd-logind サービスの IP 接続が拒否される場合、以下のように設定が必要です:
/usr/lib/systemd/system/systemd-logind.service
# IPAddressDeny=any
参照
- The Linux NIS HOWTO,very helpful and generally applicable to Arch Linux.
- YoLinux NIS tutorial
- Quick HOWTO, Configuring NIS