!== !== NISPLUS.txt !== 寄稿者: TAKAHASHI Motonobu <monyo@home.monyo.com> 作成日: 1999/02/21 主題: Samba での NISPLUS の使用 ============================================================================ NIS+ (NISPLUS) は, Sun が NIS に変わるディレクトリサービスとして Solaris に実装しているもので, 現在は HP-UX や Linux 等でサポートされて いる。 Samba-2.の場合, NIS+ は, 大きく以下の 3 つの用途に使用できる。ちなみ に Samba-1.x では, (1) の目的にしか使用できない。 (1) nis homedir を指定した時に参照する automount の map データベースと して使用する。 (2) security = user 等を指定した時に参照する, ユーザ情報データベースと して使用する。 (3) ドメインコントローラとして使用する際のユーザ情報データベースとして 使用する。 以下, 順に説明を行う。ただし, (2), (3) はサポートする機能に差異が見 られるだけで, 使用するデータベース自体は同一である。 nis homedir の設定方法 -------------------------------------- これは, samba-1.9.18p10 での NISPLUS オプションと同等の機能である。 この機能を使用する為には, 以下のオプションを付けて configure しなけ ればならない。 --with-automount --with-nisplus-home また, smb.conf には, グローバルセクションに以下の記述が必要である。 nis homedir = yes 更に, Windows 9x のドメインコントローラとして必要な設定が幾つか必要で ある。詳しくは smb.conf(5) を参照の事。これ以外に, 関係する Samba マシ ンは NIS+ ドメインに所属しており, NIS+ に関する設定は正しく行われてい る必要がある。 今回は関係するパラメータを以下のように設定した。 (1) ログオンマシン(仮に hostA とする) workgroup = DOM domain logon = yes security = user nis homedir = yes [netlogon] 共有の作成 NIS+ のドメインに所属 (2) ホームディレクトリサーバ(仮に hostB とする) hostA と同じ NIS+ ドメインに所属 ユーザのホームディレクトリを持つ。 auto_home.org_dir は, 例えば以下のように記述されている。 user1 hostB:/usr1/home/user1 user2 hostB:/usr1/home/user2 その他, NIS+ 的には, 全ての設定が正しく行われているものとする。 また, hostB の smb.conf では, user1 や user2 というアカウントで Windows クライアントから接続できる設定になっているものとする。 ここで, Windows 95 の "Microsoft ネットワーククライアント" のプロパ ティで, "Windows NT のドメインにログオンする" をチェックして, 起動する。 ログオンプロンプトで, ドメイン "DOM", ユーザ "user1" でログオンする。 その後, コマンドプロンプトで, 以下のようにコマンドを入力する。 net use u: /home hostB の設定によっては, パスワードの入力を求められる可能性があるが, 接続に成功すると, u ドライブは, \\hostB\user1 にマッピングされている 事が確認できる。 設定が有効に働いている事を確認する為には, hostA で nis homedir = no として, 再度同様の事を行えば良い。 この場合, u ドライブは \\hostA\user1 に接続される。 security = user での設定方法 -------------------------------------- この機能は, smbpasswd を参照しようとした時に, smbpasswd ファイルの 代わりに, NIS+ テーブルの smbpasswd.org_dir を参照するように設定するも のである。したがって, 以下の設定を行えば security = user 以外の場合で も, smbpasswd を参照する場面では, 同様に機能する。 この機能を使用する為には, 以下のオプションを付けて, configure しなけ ればならない --with-nisplus 以後設定に付いて述べる。ただし NIS+ に関する用語などの解説は特に行って いない。 (1) smbpasswd の移行 以下の作業は, テーブルを作成する権限のある principal で作業を行う必 要がある。 まず source/script/mknissmbpwdtbl.sh を実行して, NIS+ ドメインに smbpasswd というテーブルを作成する。 次に, Samba-2 形式の smbpasswd ファイルを NIS+ テーブルにロードする。 cat smbpasswd | source/script/mknissmbpasswd.sh また, デフォルトでは, smbpasswd.org_dir は owner と smb という NIS+ グループからしかアクセスできない。従って, アクセス権を緩和するか, 必要 な場合は, smb.groups_dir に, 必要な principal を加える必要がある。 一般的には, NIS+ ドメインのマスタサーバで作業を行うと思われるので, マスタサーバ以外のサーバから smbpasswd.org_dir を参照する場合は, その マシンの principal (unix.XXX@domain. 形式のもの) を nisgrpadm コマンド などを用いて smb.groups_dir のメンバに加える。 (2) smb.conf の修正 smb passwd file = smbpasswd.org_dir のように修正する。該当のテーブルを正しく指定できるのであれば, 他の書き 方でも構わない。当然 encrypt passwords = yes にしないと, smbpasswd テーブルは参照されない。 (x) security = server , security = domain の場合の特記事項 上記の設定を行った場合, security = server や security = domain の場 合でも, 本来 smbpasswd を参照する場面では, smbpasswd.org_dir を参照す る事になる。 しかし, security 設定を上記のようにした場合, MACHINE.SID や security = domain の場合の [DOMAIN].[MACHINE].mac 等を作成する時も smb passwd file の設定が参照されてしまう。 このため, 例えば samba をデーモンとして起動する時等, / がカレントディ レクトリになっている状態で起動されている場合, MACHINE.SID ファイルが /smbpasswd.org_dirMACHINE.SID として作成されてしまい, 更に /smbpasswd.org_dir というディレクトリが作成されてしまうなどの仕様上の 不具合がある。 機能的には問題なく動作するので, 上記の仕様さえ我慢すれば, security = server や security = domain でも, NIS+ テーブルを使用する事は可能であ る。 ドメインコントローラとして使用する際のユーザ情報データベースとして使用する -------------------------------------- (未確認) 期待する事 -------------------------------------- (1) nsswitch.conf への対応 (2) smb passwd file が MACHINE.SID 等のファイルの置場所も指定してしま う為発生するファイル配置場所の不具合の修正。