Hatena::Grouplinux2

server_setting_memo このページをアンテナに追加 RSSフィード

2006-12-17 (Sunday)NISサーバ

[][][]NISサーバ立てました 14:48 NISサーバ立てました - server_setting_memo を含むブックマーク はてなブックマーク - NISサーバ立てました - server_setting_memo NISサーバ立てました - server_setting_memo のブックマークコメント

[環境]

  • サーバ
    • distribute : FC5
    • ypserv : (ypserv) 2.19

当方、サーバ用のPCクライアント用のPCの2台しか所有してないのでスレーブサーバについては載せてません。あしからず

[][][]NISサーバの設定 14:48 NISサーバの設定 - server_setting_memo を含むブックマーク はてなブックマーク - NISサーバの設定 - server_setting_memo NISサーバの設定 - server_setting_memo のブックマークコメント

○ portmapの起動

# /etc/rc.d/init.d/portmap start

○ portmapの確認

# rpcinfo -p

ポート111を使ったportmapperが存在すればOK。

他のプログラムとのportのbindを行ってくれる。

または

# ps aux | grep portmap

NISドメインの設定

# ypdomainname nisdomain

NISドメインの確認

# ypdomainname

これで"nisdomain"が設定されていればOK。

起動時ドメインネームの設定

# /etc/sysconfig/network

NISDOMAIN="nisdomain"

を追加。

ちなみに現在ドメイン名は

/proc/sys/kenel/domainname

に格納されているが上記コマンドで上書きされる。


セキュリティの強化

# vi /var/yp/securenets

localhostに対して

127.0.0.0 127.0.0.0

ホスト1台に対しては

255.255.255.255 123.45.67.89

ネットワークに対しては

255.255.255.0 123.45.67.0

を設定。


# vi /var/yp/Makefile

all: passwd group hosts rpc services netid protocols mail \

# netgrp shadow publickey networks ethers bootparams printcap \

# amd.home auto.master auto.home auto.local passwd.adjunct \

# timezone locale netmasks

の行(蛇足だがエスケープがあるので一行です。)でNISで流すサービスを限定する。

基本的にはこの設定のままでいいのではないかと。

ちなみにこの項目は下記のNISマップの作成と内容が絡んでくるのでそちらも併せて見てください。

さらに、

YPSRCDIR = /etc

YPPWDDIR = /etc

YPBINDIR = /usr/lib/yp

YPSBINDIR = /usr/sbin

YPDIR = /var/yp

YPMAPDIR = $(YPDIR)/$(DOMAIN)

を次のように編集

YPSRCDIR = /var/yp/etc

YPPWDDIR = /var/yp/etc

YPBINDIR = /usr/lib/yp

YPSBINDIR = /usr/sbin

YPDIR = /var/yp

YPMAPDIR = $(YPDIR)/$(DOMAIN)

勘違いしてたみたい。


NISマップ

NIS共有するファイルを指定します。

まず

# mkdir -p /var/yp/etc

オプションpは環境により適宜外してください。

# cp /etc/passwd /var/yp/etc/
# cp /etc/shadow /var/yp/etc/
# cp /etc/auto_* /var/yp/etc/
# cp /etc/group /var/yp/etc/
# cp /etc/hosts /var/yp/etc/

この後、コピーした/var/yp/etc/passwd, /var/yp/etc/shadow, /var/yp/etc/group内のシステムユーザシステムグループの行を削除しましょう。


その他環境により/etc/yp/Makefileのall項目と同じものを用意しましょう。

必要な情報を共有する場合は/etcからコピーしてくる。

共有しない場合はtouchコマンドで空ファイルのみ作っておきましょう。

passwd group hosts rpc services netid protocols mail

# touch /var/yp/etc/rpc

# touch /var/yp/etc/hosts

# touch /var/yp/etc/netmasks

# touch /var/yp/etc/services

など


○ ypservの起動

# /etc/rc.d/init/ypserv start

○ ypserv起動の確認

# /usr/sbin/rpcinfo -u localhost ypserv

program 100004 version 1 ready and waiting

program 100004 version 2 ready and waiting

と表示されればOK。


NISデータベースの作成

# /usr/lib/yp/ypinit -m

NISサーバ名を聞いてくるので、スレーブNISサーバがあれば入力

なければCtrl-d。

その後表示されたNISサーバでよいかを聞いてくるのでよければy。

成功すれば

hostname has been set up as a NIS master server.

の表示。

"hostname"の部分

$ hostname

で確認できる文字列。つまり短いPC名。(FQDNでない)

これでNISのマスターサーバとして設定されました。


あと、とりあえず

ypinitを実行したときのログも確認しておきましょう。

今回は

Updating passwd.byname...

Updating passwd.byuid...

Updating group.byname...

Updating group.bygid...

Updating hosts.byname...

Updating hosts.byaddr...

Updating rpc.byname...

Updating rpc.bynumber...

Updating services.byname...

Updating services.byservicename...

Updating netid.byname...

Updating protocols.bynumber...

Updating protocols.byname...

Updating mail.aliases...

と出ました。


○ yppasswddの起動

NISを経由してpasswdを有効にするためにyppasswdデーモンであるyppasswddを立ち上げる必要がある。

NISを経由したpasswd, chfn, chshを有効にするためにyppasswd, ypchfn, ypchshが用意されている。

# /usr/sbin/rpc.yppasswd -e chfn -e chsh

またはデーモンなので

# /etc/rc.d/init.d/yppasswdd start

でも起動可能。

ただし、これはyppasswdしか起動していないのでchkconfigの自動起動には

# vi /etc/sysconfig/network

YPPASSWDD_ARGS="-e chfn -e chsh"

を追加する必要がある。

引数については

# man rpc.yppasswdd

で参照可能。