はじめに
以下の説明は、IPアドレス 192.168.1.1 のサーバー(ホスト名:host1)と IPアドレス 192.168.1.2 のクライアントでNISをする時の設定を意図しています。
NISを使って、両方のマシンで同じユーザー名、パスワードを使う、といった運用を考えています。
サーバー側
まず、サーバーをインストールします。ドメイン名を決めた後、以下のコマンドを実行します。ドメイン名自体は、/etc/defaultdomainを編集すればいつでも変えることが可能です。
sudo apt-get install nis
次に、/etc/ypserv.securenets を編集します。
sudo vi /etc/ypserv.securenets
このファイルに以下を追記してください。
255.255.255.0 192.168.1.0
次にNISの設定を編集します。
sudo /etc/default/nis
ここで、編集すべき箇所が2つあります。
1, 6行目 NISSERVER=falseをNISSERVER=masterに変更してください。
2, 8行目 NISCLIENT=true を NISCLIENT=false に変更してください。
次に、ユーザーのデータベースを更新します。
sudo /usr/lib/yp/ypinit -m
次に、サービスを起動します。
sudo service rpcbind start sudo service ypbind start
ubuntuでも、raspberry piでもrpcbindがデフォルトでは動いていないみたいです。そのため、最初にrpcbind を起動しています。
その後、NISサーバーを起動しています。
クライアント側
まず、NISをインストールします。
sudo apt-get install nis
次に、参照する予定のNISサーバーの設定を行います。
sudo vi /etc/yp.conf
このファイルに、以下の行を追記します。
ypserver host1
次に、/etc/hostsを編集します。名前の逆引きが可能であれば必要ありません。
sudo vi /etc/hosts
ここに以下の行を追記します。
192.168.1.1 host1
次に、ドメイン名の設定を行います。
サーバー側で設定したものと同じドメイン名を使ってください。
sudo vi /etc/defaultdomain
次に、NISを読み込むように設定を行います。
sudo vi /etc/nsswitch.conf
ここの compat と書いてある所全てに、 nis を追加してください。
編集前 -> compat 編集後 -> compat nis
サービスを起動します。
sudo service rpcbind start sudo service ypbind start
ubuntuでも、raspberry piでもrpcbindがデフォルトでは動いていないみたいです。そのため、最初にrpcbind を起動しています。
その後、NISクライアントを起動しています。
確認として、host1マシンにしか居ないユーザーに切り替わって見ましょう。
su host1only
このコマンドを実行して、パスワードを聞かれたら成功です。
ユーザ'host1only'のパスワードエントリがありません。的なことを言われたら設定を見直してください。
念のため、チェックするためのコマンドを書いておきます。
ypbindの起動確認のコマンドは以下の様な感じです。
ps aux | grep ypbind
結果が、 /usr/bin/ypbind みたいな出力があれば大丈夫です。なければ、ypbindが起動していません。ypbind を起動してください。
また、同様にrpcbindの起動確認は以下の様なコマンドでできます。
ps aus | grep rpcbind
自動起動するためには、以下のコマンドで良いっぽいです。
sudo update-rc.d rpcbind enable
参考
http://askubuntu.com/questions/771319/in-ubuntu-16-04-not-start-rpcbind-on-boot
http://qiita.com/hdoi/items/9cff4f840939636df807
http://botukikaku.blogspot.jp/2015/04/raspberry-pi-nfs.html