- 追加された行はこの色です。
- 削除された行はこの色です。
工事中
なんとなくできたかな。。。
*概要 [#i732f35e]
NIS(Network Information Service)サーバ。コンピュータの情報を共有するサービス。WindowsにおけるNTドメインとかActive Directoryみたいなもんだと思う。。
NISを使うと、サーバの/etcにある設定ファイルなどが共有できるようになるらしい(クライアントに配布できると言った方がよいかな)。
ココでは、サーバのIPアドレスは192.168.0.4でクライアントのIPアドレスは192.168.0.14ということにする。サーバにはnistestというユーザを作っておいた。
さらに、NFSと連携してサーバのホームディレクトリをマウントできるようにする。
*サーバ側の設定 [#p2353028]
まだできていません。。。
**インストール [#ofefc610]
# apt-get install ypserv
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
ypserv
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
130kB のアーカイブを取得する必要があります。
展開後に 268kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 3.1/i386/plus ypserv 2.13-0vl2 [130kB]
130kB を 0s 秒で取得しました (325kB/s)
変更を適用しています...
Preparing... ########################################### [100%]
1:ypserv ########################################### [100%]
完了
**NISドメインの登録 [#qcbe3e0c]
# domainname yokabai
# domainname hatena
# domainname
yokabai
hatena
manpageを見ると
domainname - システムの NIS/YP ドメイン名を表示・設定する
nisdomainname - システムの NIS/YP ドメイン名を表示・設定する
ypdomainname - システムの NIS/YP ドメイン名を表示・設定する
という感じに、どのコマンドを使っても同じらしい。
上のままだと再起動すると消えちゃうので、
# vi /etc/sysconfig/network
>
NETWORKING=yes
HOSTNAME=pc7dk3.niwaka.ddo.jp
NISDOMAIN=yokabai
NISDOMAIN=hatena
を追加する。
**ypserv.confの編集 [#a26d42b9]
# vi /etc/ypserv.conf
>
# Not everybody should see the shadow passwords, not secure, since
# under MSDOG everbody is root and can access ports < 1024 !!!
192.168.0. : * : shadow.byname : port
192.168.0. : * : passwd.adjunct.byname : port
**portmapを起動させる [#obeb1875]
# /etc/rc.d/init.d/portmap start
Starting portmapper: [ OK ]
**ypservを起動させる [#ff655cd1]
# /etc/rc.d/init.d/ypserv start
YPサーバサービスを起動中: [ OK ]
**データベースの作成 [#afad27a6]
これでサーバに登録されているユーザ情報などが、クライアントから参照されるデータベースに登録される。
# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers. pc7dk3.niwaka.ddo.jp is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a <control D>.
next host to add: pc7dk3.niwaka.ddo.jp
next host to add:
The current list of NIS servers looks like this:
pc7dk3.niwaka.ddo.jp
Is this correct? [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/yokabai/ypservers...
Running /var/yp/Makefile...
gmake[1]: ディレクトリ `/var/yp/yokabai' に入ります
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...
gmake[1]: ディレクトリ `/var/yp/yokabai' から出ます
pc7dk3.niwaka.ddo.jp has been set up as a NIS master server.
Now you can run ypinit -s pc7dk3.niwaka.ddo.jp on all slave server.
**自動起動の設定 [#c00b27ca]
# chkconfig ypserv on ←NISサーバデーモン
# chkconfig yppasswdd on ←クライアントからパスワードを変更できるようにするデーモン
**exportsの編集 [#vf4bd073]
/homeを共有する
# vi /etc/exports
>追加
/home 192.168.0.0/24(rw,no_root_squash)
**NFSの再起動 [#t2f3c9ba]
# /etc/init.d/nfs restart
Shutting down NFS mountd: [ OK ]
Shutting down NFS daemon: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
*クライアント側の設定 [#ga89af40]
まだできていません。。。
**ypbindのインストール [#u7eb4cd9]
# apt-get install ypbind
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
yp-tools
以下のパッケージが新たにインストールされます:
yp-tools ypbind
アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 47 個
108kB のアーカイブを取得する必要があります。
展開後に 214kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.1/i386/main yp-tools 2.8-3vl2 [67.9kB]
取得:2 http://updates.vinelinux.org 3.1/i386/main ypbind 3:1.17.3-0vl1 [40.4kB]
108kB を 0s 秒で取得しました (188kB/s)
変更を適用しています...
Preparing... ########################################### [100%]
1:yp-tools ########################################### [ 50%]
2:ypbind warning: /etc/yp.conf created as /etc/yp.conf.rpmnew
########################################### [100%]
完了
**NISドメインの登録 [#ne1a7f82]
# domainname yokabai
サーバに登録したものと同じものを入力。
# domainname hatena
# domainname
yokabai
hatena
# vi /etc/sysconfig/network
>
NETWORKING=yes
HOSTNAME=localhost.localdomain
NISDOMAIN=yokabai
NISDOMAIN=hatena
を追加する。
**yp.confの編集 [#s9a22fee]
# vi /etc/yp.conf
>
#domain localdomain broadcast
domain yokabai server 192.168.0.4 ←NISサーバのドメイン、NISサーバのアドレス
**authconfig [#gfb044f0]
# vi /etc/sysconfig/authconfig
>
USEDB=no
USEHESIOD=no
Upt-SELDAP=no
USENIS=yes ←NISを有効にする
USEWINBIND=no
USEKERBEROS=no
USELDAPAUTH=no
USEMD5=yes
USESHADOW=yes
USESMBAUTH=no
**portmapを起動させる [#pd01fd05]
# /etc/init.d/portmap start
Starting portmapper: [ OK ]
**ypbindを起動させる [#o39a5045]
# /etc/init.d/ypbind start
Binding to the NIS domain... [ OK ]
Listening for an NIS domain server: 192.168.0.4
**DHCPクライアントを使っている場合、 [#v714ce71]
dhcpcdによってyp.confが上書きされてしまうので、以下を編集する。
# vi /etc/sysconfig/network-scripts/ifup
>
# DHCP clients need DNS to be available, and we don't know
# what DNS server they're using until they are done.
FWHACK=
if [ -n "$FWACTIVE" -a "$FIREWALL_MODS" != "no" ]; then
ipchains -I input -s 0/0 53 -d 0/0 1025:65535 -p udp -j ACCEPT
FWHACK=1
fi
if [ -x /sbin/dhcpcd -Y] && /sbin/dhcpcd -Y ${DHCPCDARGS} ${DEVICE} ; then
echo $" done."
↑/sbin/dhcpcd -Y ←-Yオプションをつける(yp.confを上書きしない)
**動作確認 [#l25af8e7]
# ypwhich
192.168.0.4
# ypcat passwd
nistest:$1$cpnjpAjq$9o.85Wnp173rga1A9Bamf.:503:503::/home/nistest:/bin/bash
引くことはできたが、実際にログインしてみるとできない・・・。
引くことはできたが、実際にログインしてみると、
-bash-2.05b$
-bash-2.05b$
になる。たしか研究室でも自分のアカウントを登録してもらったときに同じようなことになった覚えが・・・。ホームディレクトリが無いとか言われるので、NFSと連携させてやる必要がある感じ・・・。
となり、ホームディレクトリが無いとか言われるので、NFSでサーバのホームディレクトリをマウントする必要がある。
*追加 [#z1c65ee9]
**NFSでマウント [#oedc8b86]
サーバー側
rootでログインしなおして、
# mkdir /export
# mkdir /export/home
# mv /home /home-local
とやり、ローカルのホームディレクトリの名前を変える。
# vi /etc/exports
# mkdir /home
でマウント用のホームディレクトリを作る。ココは空じゃないといけない。
# mount -t nfs 192.168.0.4:/home /home
とやるとマウントできる。
マウントされたことを確認するには、
# df
ファイルシステム 1k-ブロック 使用中 空き 使用% マウント場所
/dev/sda2 3565696 955880 2428684 29% /
/dev/sda1 46633 10547 33678 24% /boot
none 127740 0 127740 0% /dev/shm
192.168.0.4:/home 8143576 1254264 6475640 17% /home
こんな感じで表示される。
これでログインできるようになるはず。
[nistest@localhost nistest]$
**起動時に自動的にマウントする [#zfe3018b]
# vi /etc/fstab
>追加
/export/home 192.168.0.0/24(rw)
192.168.0.4:/home /home nfs rsize=8192,wsize=8192 0 0
# useradd -d /export/home/nistest nistest
# passwd nistest
# /etc/rc.d/init.d/nfs restart
Shutting down NFS mountd: [ OK ]
Shutting down NFS daemon: [ OK ]
Shutting down NFS services: [ OK ]
Starting NFS services: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
*NISでマウントの設定ファイルも同時に配布する [#u673b6ee]
# vipw
>変更
nistest:x:503:503::/home/nistest:/bin/bash
上のままでもよいが、クライアント毎にマウントの設定をしなければならない。なので、その設定ファイルもNISで配布するようにする。
このシステムではシャドウパスワードが使われています。
今すぐ /etc/shadow を編集しますか [y/n]? n
*サーバ [#g9950e85]
auto.masterとauto.homeを配布することでクライアントからマウントできるようにする。
**auto.masterの編集 [#f3d5c550]
これは、サーバのホームディレクトリにアクセスがあったときに自動的にマウントする設定ファイル。
# vi /etc/auto.master
>追加
/home yp :auto.home
ローカルの/homeディレクトリにyp(NIS)から配布されたauto.homeにしたがってマウントする。
**auto.homeの編集 [#kea119a2]
これは、上のauto.masterから呼び出されるもので、サーバーのどこをマウントするかを書いた設定ファイル。
# vi /etc/auto.home
>
* -fstype=nfs,rw,soft,rsize=8192,wsize=8192 192.168.0.4:/home/&
ローカルの/home/ディレクトリ下のすべてのディレクトリ(*)にユーザーがアクセスを試みた場合、オプションを指定して192.168.0.4の/homeディレクトリ以下をマウントする。
**Makefileを編集 [#d1c886da]
Makefileを編集して配布するファイルを追加する。
# vi /var/yp/Makefile
>
# If you don't want some of these maps built, feel free to comment
# them out from this list.
all: passwd group hosts rpc services netid protocols mail auto.master auto.home \
# netgrp shadow publickey networks ethers bootparams printcap \
# amd.home auto.master auto.home auto.local passwd.adjunct \
# timezone locale netmasks
↑auto.master auto.homeを追加
**データベースの更新 [#ze6c52b8]
# cd /var/yp/
# make
gmake[1]: ディレクトリ `/var/yp/yokabai' に入ります
Updating netid.byname...
Updating auto.master...
Updating auto.home...
gmake[1]: ディレクトリ `/var/yp/yokabai' から出ます
クライアント側
**サーバ上でautofsが起動しないようにする [#w4ccdcc3]
# mv /home /home-local
# mkdir /home
# mount -t nfs 192.168.0.4:/export/home /home
今のauto.master設定ファイルだとクライアントでは問題ないが、サーバ上でautofsが起動するとおかしなことになるので起動しないようにする。
この辺はちょっと微妙なところ・・・。
ログアウトしてnistestでログイン。
でも、localhostになる・・・。
# /etc/init.d/autofs stop
Stopping automounter: [ OK ]
# chkconfig autofs off
# chkconfig autofs --list
autofs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
*クライアント [#y7d8db2f]
**autofsを再起動 [#i64865d4]
サーバでデータベースの更新を行った時点でクライアントにも反映されるので、autofsを再起動する。
# /etc/init.d/autofs restart
Stopping automounter: [ OK ]
Starting automounter: [ OK ]
statusで確認し、うまくいったら以下のように表示される。
# /etc/init.d/autofs status
Configured Mount Points:
------------------------
/usr/sbin/automount /home yp auto.home
Active Mount Points:
--------------------
/usr/sbin/automount /home yp auto.home
**マウントされるか確認 [#hfae9c0b]
# ls /home/
としただけではマウントされない。
# ls /home/nis/
lib/ rpm/
とやって初めてマウントされる。つまり、デーモン起動直後にはまだマウントされておらず、/home/[ユーザー名]のディレクトリにアクセスした時点で自動的にマウントされる。
マウントされたことを確認するには、
# df
ファイルシステム 1k-ブロック 使用中 空き 使用% マウント場所
/dev/sda2 3565696 955828 2428736 29% /
/dev/sda1 46633 10547 33678 24% /boot
none 127740 0 127740 0% /dev/shm
192.168.0.4:/home/nis
8143576 1254212 6475692 17% /home/nis
こんな感じで表示される。
* コメント [#wf5e6b6f]
#pcomment(Vine/コメント)