NISクライアントの設定
続いて、アカウントの管理がめんどくさいので、NISを入れました。実はサーバは2ヶ月くらい前に設定したので、すでに忘れました。で、とりあえずクライアントの設定。
http://www.server-world.info/query?os=Ubuntu_13.04&p=nis&f=2
ここのページそのままです。たしか、サーバもここを見たような・・・
もう少し書きますと、まずaptitudeが無いため、インストール。
$ sudo apt-get install aptitude
その後、
$ sudo apttitude -y install nis
とすると、ドメイン名を聞いてきます。クライアントなので、当然決まっていると思いますから、ドメイン名を入力して、OK。次に、/etc/yp.confを編集します。最後の行に
domain ドメイン名 server FQDN
と記載。具体的に書くと、NISドメインを「testlab.net」として、サーバの名前を「server」とすると、FQDNは「server.testlab.net」となるので、
domain testlab.net server server.testlab.net
となります。つぎに、/etc/nsswitch.confを編集します。
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat nis group: compat nis shadow: compat nis hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 nis networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
赤字の部分を追加します。追加したら、再起動して、クライアントにユーザーIDの無いユーザーでログインします。ログインが成功すれば、OKです。確認として、
$ ypwhich
とか
$ ypcat hosts
とか
$ ypcat passwd
などでNISユーザやクライアントマシンが確認できます。
もしもうまくログインできない場合、サーバの/etc/ypserv.securenetsが怪しいかもしれません。IPのマスクを通常より絞って設定する場合、計算間違いするとログインできません。
1つ嵌ったこととして、クライアントにNISサーバと同じユーザーがいる場合、そのユーザーはクライアントの設定が優先されるみたいです。(たとえば、ホームディレクトリが/home1/testuserになって欲しいのに、/home/testuserになってしまうとか。)恐らく、/etc/nsswhich.confの追加した「nis」を、それぞれの項目の先頭に書けばいいと思いますが、ログインできなくなってもめんどくさいので、クライアントの/etc/passwdを編集して、/home/testuserから/home1/testuserに書き換えました。(てきとーです)