rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

サーバ管理未経験者がNISサーバの保守のために勉強したことをまとめる

ファイルパス等は私の保守対象に依存する

NIS

NIS(Network Information Service)は、LAN内のクライアントとシステムの設定情報を共有するためのシステム。
具体的には、NISサーバの/etc以下にある設定ファイル等がクライアントに共有される。
NIS クライアントは、バインドプロセスと呼ばれる方法で NIS サーバーから情報を取得する。

NISサーバ側で行うこと

NISの設定確認・変更

NISサーバ自体の設定をいじる機会はなかった。
NISサーバでユーザを追加するなどしてシステム設定情報を変更することはあったが、それはNISサーバの設定変更と言うよりシステムの設定変更なので、タイトルを分けて掲載することにする。

システムの設定確認

$ cat /etc/passwd

ユーザ一覧。
書式は、ユーザー名:ユーザー番号(UID):グループ番号(GID):コメント:ログインしたときに起動するシェルの場所

$ cat /etc/group

グループ一覧。
書式は、グループ名:xもしくは暗号化されたパスワード:グループID( GID ):サブグループとして所属しているユーザーアカウントのリスト

$ cat /etc/shadow

ユーザのパスワードを暗号化して格納するファイル。

$ id USERNAME

ユーザが登録されていれば、UID、GID等が表示される。
例えば、uid=1111(username) gid=2222(groupname) groups=2222(groupname),2223(groupname2)

システムの設定変更

上記3ファイルをエディタなどで直接編集することは無い。下記のadduserコマンドにより編集する。

# adduser --gid 2222 --uid 1111 username

新しいユーザーのログイン ID を作成。このコマンドを実行すると、NIS マスターサーバー上の /etc/passwd ファイルと /etc/shadow ファイルにエントリが自動的に作成される。
gid;ユーザの所属グループ番号 (みんな一緒)
—uid;ユーザ番号 (被り不可)
username;任意のユーザ名(被り不可)
NISサーバ上でユーザを作ることで、NISの機能により、このユーザ情報が全NISクライアントに共有される。

システムの設定変更反映

# cd /var/yp
# make

新規ユーザを追加するなどしたあとに、これを行う。

NISクライアント側で行うこと

動作確認

$ id USERNAME

NISがきちんと機能していれば、NISサーバに登録されているユーザの情報が自動的に取得できる。

$ ypwhich

NISサーバとの接続を確認
今まで接続できていたのに接続できなくなった、という場合には、コンピュータを再起動すると治ったりする。

設定確認

$ cat /etc/nsswitch.conf

NISクライアントの設定を確認。
このファイルには、システム情報のうちのどの情報をNISサーバと共有するか等が書かれている。
基本的に、一番最初のセットアップ時にしか変更しないだろうファイル。

$ cat /etc/group

個々のクライアントでの記述は行なわない.
ファイル末尾に、NISサーバからグループ情報を取得するということを明示する下記の記述がされている。

-nogroup
+;;;

$ cat /etc/passwd

個々のクライアントでの記述は行なわない. ファイル末尾に、NIS サーバからユーザ情報を取得するということを明示する下記の記述がされている。

-nobody
+::::::

$ cat /etc/defaultdomain

デフォルトドメインなるものの設定。taurasと記載されているが、これはどういう意味だろうか。。

設定変更

既に運用されているNISクライアントの設定をいじる機会はこれまで無かった。

NISクライアントのセットアップも、これまで自分ではしたことがないが、先輩の記録が残っていたのでメモしておく。自分では動作を確認していないので注意。。。

# aptitude install nis
# vi /etc/passwd   //上記で説明した末尾2行を追加
# vi /etc/group   //上記で説明した末尾2行を追加
# vi /etc/defaultdomain   //上記で説明した通りtaurasに変更
# /etc/init.d/nis restart   //設定変更の反映
という流れ、らしい。

設定変更

# /etc/init.d/nis restart

NISクライアントを再起動
NISクライアント設定を変更した場合にのみ行う。