[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[vine-users:010535] Re: SUNに対するNISクライアントの設定



松林 (a.k.a. しょうりん) です.


# うちの環境も,元々 Solaris 2.5.1 - 2.6 が多い環境で,
# 今年に入ってから急に Debian と Vine が増えて来ています.


At Tue, 03 Aug 1999 21:05:48 +0900,
Yukio Suzuki <suzuki@astro1.yy.kagu.sut.ac.jp> wrote:
> 
> --------ここから----------
> NISクライアントの設定自体は、様々な本やHPなどで記されているように
> 非常に簡単です。
> '/etc/sysconfig/network' において、NISのDOMAINネームを書き込みます。
> 
> 	NISDOMAIN = HOGEHOGE

起動時に一度実行される /etc/rc.sysinit の中に

	# Set the NIS domain name
	if [ -n "$NISDOMAIN" ]; then
	    domainname $NISDOMAIN
	else
	    domainname ""

という記述がありますね.

# Solaris 2.x では /etc/defaultdomain というファイルに
# domain 名を書き込んでおけば /etc/rc2.d/S69inet が
# 取り込んでくれますね.


> 次に、'/etc/host.conf' において、以下のように 'nis' を書き加えます。
> 
> 	order hosts,nis,bind
> 		    ~~~	

この辺りの事情は jman hostname を見ると書いてありますね.


> '/etc/rc.d/rc?.d' において、もし 'ypbind' が呼ばれていないならば、
> シンボリックリンクを張ります。
> 
> 	ln -s ../init.d/ypbind S??ypbind
> 
> ここで、'ypbind'の順番は'linuxconf'の後でないとboot時にきちんとサーバーを認識してくれませんでした。

あれ? Vine 標準というか,Red Hat 系では

	# /sbin/chkconfig --add ypbind

とか ntsysv でおっけーな筈ですが....

それと,/etc/rc.d/init.d/{ypbind,linuxconf} の最初の部分に
書かれている順番では,

	S13ypbind
	S99linuxconf

となるはずなので,ypbind の方が先に実行されますよね.

# うちは linuxconf 使ってないので分かりませんが,
# S13ypbind で普通に使えてます.


> '/etc/yp.conf' において、必要な箇所のコメントアウトを外す。私の場合は、
> 
> 	ypserver servername
> 	# /etc/yp.conf - ypbind configuration file
> 	# Valid entries are
> 	#
> 	domain HOGEHOGE server servername
> 	#       Use server HOSTNAME for the domain NISDOMAIN.
> 	#
> 	#domain UCHIDALAB broadcast	
> 	#       Use  broadcast  on  the local net for domain NISDOMAIN
> 	#
> 	#       Use server HOSTNAME for the  local  domain.  The
> 	#       IP-address of server must be listed in /etc/hosts.
> 	#

本当は domain HOGEHOGE broadcast の方がいいんだと思いますけどね....

# ホスト servername が死んでいても,他の NIS master / slave が
# 返事をしてくれるはずですので....


> 次に、サーバーにおいてexportされているディレクトリをマウントする為の
> 方法を示します。
> もちろん、'mount'コマンドでいちいちマウントしても良いのですが、
> 非常にめんどくさいです。
> そこで、次の2通りの方法を行ないました。
> 
> 1:'fstab'の編集
> 	細かい説明はマニュアルなどを見て頂くとして、ここでは私のものを
> 	例として示しておきます。

できれば /etc/fstab (Solaris では /etc/vfstab) に直接
書き込む方法は避けておいた方がいいと思います.
起動時に NFS サーバが死んでいる時,起動途中で止まってしまって
難儀なことになりますので.


> 2:'autofs'の利用
> 	はっきり言ってこちらの方が断然楽です。

普通はこちらを使いますね.


> 	'autofs'はftpサイトにあるので、持っていない場合は取ってきましょう。

Vine 1.1 では autofs-3.1.1-8.1 が最初から CD-ROM に入ってますね.


> 		## auto.home
> 		admin           -rw,intr        hoge1:/home1:&
> 		frc_adm         -rw,intr        hoge1:/home1:&
> 		guest           -rw,intr        hoge1:/home1:&
> 		  :		   :			:		

各ホストにこれを書くのはかなり面倒くさいので,
普通は /etc/auto.home (Solaris の場合 /etc/auto_home) には
+auto_home とかだけ書いておいて,NIS から情報を引いてくる様に
すると一括管理が出来ます.


> 	後は、'autofs'がboot時にstartするように'/etc/rc.d/rc?.d/'において、
> 	シンボリックリンクを張れば終りです。

これも

	# /sbin/chkconfig --add autofs

でおっけーですね./etc/rc.d/rc{3,5}.d/{S72,K08}autofs という
シンボリックリンクが作られます.


> これらのマウントディレクトリは、当然サーバーの方でexportされて
> いなければいけません。
> また、アクセス許可も降りている事を確認しておきましょう。

Linux distribution の多くでは /etc/exports に書くという方法ですね.
多くのホストがある場合は NIS の netgroup を使うと楽です.
jman exports および jman netgroup を参照.

Solaris 2.x の場合は /etc/dfs/dfstab に export 情報を書きますね.


> 最後に、'/etc/passwd'において、次の行を最後に付け足す必要があります。
> 
> 		+::::::

これは必ずしも必要でしたっけ?
/etc/nsswitch.conf に適切に設定をしておけば
必要ないと思います.

# 参照:jman nsswitch.conf の「+/-書式との関係 (compat モード)」


> ここまでの設定を行なえば大体の所は大丈夫な筈ですが、
> 実はまだ私も解決していない問題があります。
> このままですと、サーバーのアカウントを使ってloginしようとしても
> うまくできないのです。
> それでは全く意味が無いのですが、外からのtelnetなどは出来ます。
> このtelnetにおいて、自分のhomeディレクトリが/homeの下にないと怒られ、
> /にはいってしまうことから、
> マウントポイントが/home2としているのがまずいようだとはわかっています。
> 後は、この/home2の下に無事にマウントしてくれるようにうまく設定できれば
> いいだけなのですが。

先程の /etc/auto.home の内容からすると,
/home2 に automount される様には見えないのですが....

また,アカウントが Linux Box ローカルにも NIS ドメインにも
登録されていて,
かつ /etc/nsswitch.conf のうち,passwd エントリが

	passwd:	files nisplus nis

となっている場合 (Vine 1.x デフォルト),

/etc/passwd のエントリからホームディレクトリの場所が決定され,
/etc/auto.home の内容からマウント情報が決定され,
この両者の情報に食い違いがある場合,問題が起こる,というのが
大抵の場合だと思います.


# うちの環境では NIS をひいた Linux Box からログインできないと
# 学生から苦情が来て,よく調べてみると,NIS の passwd エントリでは
# 起動シェルが /usr/bin/tcsh となっているのに,Vine 上では
# /bin/tcsh にあったため,シェルが起動できていなかった,なんて
# ことがありました :-)
# ln -s /bin/tcsh /usr/bin/tcsh すれば OK なわけですが.


====================================================
 MATSUBAYASHI, 'Shaolin' Kohji
 mailto:shaolin@rins.st.ryukoku.ac.jp
 http://oscar.math.ryukoku.ac.jp/~shaolin/index.html

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: