GNU/Linux >> Linux の 問題 >  >> Linux

YPServ Linux NIS サーバーおよびクライアントをセットアップおよび構成する方法

NIS は Network Information Service の略です。

NIS は YP とも呼ばれます。 YP はイエロー ページの略です。

NIS は、一連のデータベースのルックアップ サービスです。この場合のデータベースは、passwd ファイル、グループ ファイル、hosts ファイルなどです。これは主に、すべてのユーザー名とパスワード (つまり /etc/passwd) を保持するための中央リポジトリとして使用され、さまざまなサーバーがこのサーバーに対して認証を行うことができます。ユーザー名とパスワード。

これは、複数のサーバーを管理する必要があるシステム管理者にとって非常に役立ちます。すべての Linux サーバーでユーザーのユーザー アカウントを作成する代わりに、NIS サーバーを実行するように構成された 1 つのサーバーでアカウントを作成するだけで済みます。他のすべてのサーバーは、この中央 NIS サーバー リポジトリに対して認証を行う NIS クライアントとして構成できます。

これは、ypserv NIS サーバーとクライアントのインストールと構成を説明する段階的なチュートリアルです。

YPServ はイエロー ページ サーバーの略です。

NIS サーバーが既に構成されていて、Linux サーバーを既存の NIS サーバーに接続しようとしている場合は、以下の「NIS クライアントの構成」セクションに進んでください。

NIS サーバーとクライアントの両方をインストールして構成する場合は、以下の最初のステップから始めてください。

NIS サーバーの構成

1.ポートマップを確認

Portmap サーバーは、DARPA ポートを RPC プログラム番号にマップします。 NIS サーバー (RPC サーバー) と通信するために RPC 呼び出しを行う NIS クライアントの場合、ポートマッパーが実行されている必要があります。

NIS サーバーが起動すると、リッスンしているポートをポートマッパーに通知します。 NIS クライアントが NIS サーバーに接続すると、最初にポートマッパーをチェックして、NIS サーバーが実行されているポート番号を取得し、そのポート番号に RPC 呼び出しを送信します。

ほとんどの Linux ディストリビューションでは、portmap がデフォルトで実行されます。実行中であり、システムの再起動時に開始されるように構成されていることを確認してください。

# ps -ef | grep -i portmap
rpc       3624     1  0 Feb23 ?        00:00:00 portmap
root     16908  8658  0 10:35 pts/0    00:00:00 grep -i portmap

# chkconfig --list | grep portmap
portmap         0:off   1:off   2:off   3:on    4:on    5:on    6:off

2. YPServ をインストール

それぞれの Linux ディストリビューションの一般的なインストール方法 (apt-get、yum、up2date など) を使用して、サーバーに ypserv をインストールします。

ソースからインストールする場合は、ypserv ソースをダウンロードしてください。

Redhat システムでは、インストール CD から ypserv RPM を特定し、rpm を使用して以下に示すようにインストールします。

# rpm -ivh ypserv-2.19-5.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:ypserv                 ########################################### [100%]

ypserv は /usr/sbin/ypserv の下にインストールされます

# whereis ypserv
ypserv: /usr/sbin/ypserv /etc/ypserv.conf /usr/share/man/man8/ypserv.8.gz

3. ypserv を開始

以下に示すように、ypserv がポートマップに登録されているかどうかを確認してください。

# rpcinfo -u localhost ypserv
rpcinfo: RPC: Program not registered
program 100004 is not available

上記の出力は、ypserv がインストールされていないか、ypserv がインストールされているがまだ開始されていないことを示しています。次のクイック チェックは、ypserv がまだ開始されていないことを示しています。

# chkconfig --list | grep yp
ypbind          0:off   1:off   2:off   3:off   4:off   5:off   6:off
yppasswdd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
ypserv          0:off   1:off   2:off   3:off   4:off   5:off   6:off
ypxfrd          0:off   1:off   2:off   3:off   4:off   5:off   6:off

# service ypserv status
ypserv is stopped

以下に示すように、/etc/sysconfig/network ファイルで NISDOMAIN を設定します。

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=prod-db
GATEWAY=192.168.1.1
NISDOMAIN=thegeekstuff.com

以下に示すように ypserv を開始します。

# service ypserv start
Setting NIS domain name thegeekstuff.com: [  OK  ]
Starting YP server services:              [  OK  ]

/etc/ypserv.conf ファイルには、いくつかの NIS サーバー構成パラメーターが設定されています。ただし、このファイルのデフォルト値を変更する必要はありません。

4. NIS データベースの生成

ypserv をインストールして起動したら、NIS データベースを生成します。すべての NIS データベースは、/var/yp ディレクトリの下に保存されます。データベースを生成する前に、/var/yp の下にドメイン名のディレクトリが表示されません。

# ls -l /var/yp
total 36
drwxr-xr-x 2 root root  4096 May 18  2010 binding
-rw-r--r-- 1 root root 16669 Oct 31  2008 Makefile
-rw-r--r-- 1 root root   185 Jun  6  2007 nicknames

以下に示すように、ypinit プログラムを使用して NIS データベースを生成します。データベースを生成するには、NIS サーバーのホスト名を入力するだけです。

# /usr/lib/yp/ypinit -m

Please continue to add the names for the other hosts, one 
per line.  When you are done with the list, type a .
        next host to add:  prod-db
        next host to add: 

The current list of NIS servers looks like this: prod-db

Is this correct?  [y/n: y]  y
We need a few minutes to build the databases...
Building /var/yp/thegeekstuff.com/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/thegeekstuff.com'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
...
gmake[1]: Leaving directory `/var/yp/thegeekstuff.com'

prod-db has been set up as a NIS master server.

Now you can run ypinit -s prod-db on all slave server.

データベースを生成すると、以下に示すように、ドメインの新しいディレクトリが /var/yp の下に作成されていることがわかります。

# ls -l /var/yp
total 44
drwxr-xr-x 2 root root  4096 Oct  8 10:59 thegeekstuff.com
drwxr-xr-x 2 root root  4096 May 18  2010 binding
-rw-r--r-- 1 root root 16669 Oct 31  2008 Makefile
-rw-r--r-- 1 root root   185 Jun  6  2007 nicknames
-rw-r--r-- 1 root root    10 Aug 31 10:58 ypservers

/var/yp/ypservers には、NIS サーバーのホスト名が含まれます。

# cat /var/yp/ypservers
prod-db

5.インストールの確認

ypcat NIS クライアント プログラムを使用して passwd ファイルにアクセスできるかどうかを確認して、NIS サーバーのインストールを確認します。

# ypcat passwd
No such map passwd.byname. Reason: Can't bind to server which serves this domain

システムで ypbind が実行されていない可能性があるため、上記のエラー メッセージが表示される場合があります。 ypbind を開始して構成を確認するだけです。

# service ypbind start

# ypcat passwd
ramesh:R7EFEGJ1mxRGwVLVC.:401:401::/home/ramesh:/bin/bash
john:QtlRW$Fx.uZvD:402:402::/home/john:/bin/bash

暗号化された passwd フィールドを ypcat passwd 出力に表示したくない場合は、以下に示すように、/var/yp/Makefile で MERGE_PASSWD を false に設定してください。

# vi /var/yp/Makefile
MERGE_PASSWD=false

上記を実行すると、ypcat passwd コマンドは passwd ファイルに「x」を表示するだけです。

# ypcat passwd
ramesh:x:401:401::/home/ramesh:/bin/bash
john:x:402:402::/home/john:/bin/bash

いつでも変更を加えます (Makefile の更新またはデータベースの変更)。たとえば、新しいユーザーを追加したり、既存のユーザー アカウントを変更したりする場合は、次の操作を行う必要があります。これがないと、変更はどの NIS クライアントにも反映されません。

# cd /var/yp
# make

これを NIS サーバーのルート cron ジョブに追加して、15 分ごとに実行することをお勧めします。これにより、NIS データベースに何らかの変更を加えるたびに、これを手動で実行することを心配する必要がなくなります。

NIS クライアントの構成

NIS クライアントで次の手順を実行する必要があります。上記の例では、prod-db というサーバー名に NIS サーバーをインストールしました。認証用に prod-db の /etc/passwd ファイルを使用する別の Linux サーバー dev-db が必要な場合は、dev-db サーバー (NIS クライアント) で次の手順を実行する必要があります。

6.クライアントにドメイン名を設定

このサーバーでドメイン名が正しく設定されていることを確認してください。これが適切なドメイン名を返さない場合。 「domainname {your-domain}」を実行して、サーバーにドメイン名を設定します。

# domainname
thegeekstuff.com

domainname コマンドは、ドメイン名を一時的に設定します。つまり、システムを再起動すると、ドメイン名はなくなります。ドメイン名を永続的にするには、ネットワーク ファイルを更新し、NISDOMAIN パラメータを次のように設定します。

# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dev-db
GATEWAY=192.168.1.4
NISDOMAIN=thegeekstuff.com

7.クライアントで NIS サーバー名を設定する

次の行を /etc/yp.conf ファイルに追加します。これは、NIS サーバーが prod-db であることを NIS クライアントに指示します。以下の prod-db の代わりに、prod-db サーバーの IP アドレスを指定することもできます。

# vi /etc/yp.conf
domain thegeekstuff.com server prod-db

8.クライアントで ypbind を開始

ypbind は、NIS バインド プログラムです。これにより、NIS ドメインの NIS サーバーが検索され、NIS バインディング情報が保持されます。

ypbind が NIS クライアント サーバーで稼働中であることを確認します。ほとんどの Linux ディストリビューションには、ypbind が既にインストールされています。実行されていない場合は、開始してください。

# ps -ef | grep ypbind

# service ypbind start

ypcat NIS クライアント プログラムを使用して passwd ファイルにアクセスできるかどうかを確認して、NIS サーバーのインストールを確認します。

# ypcat passwd
No such map passwd.byname. Reason: Can't bind to server which serves this domain

システムで ypbind が実行されていない可能性があるため、上記のエラー メッセージが表示される場合があります。 ypbind を開始して構成を確認するだけです。

# service ypbind start

# ypcat passwd
ramesh:x.:401:401::/home/ramesh:/bin/bash
john:x:402:402::/home/john:/bin/bash

Linux
  1. Debian 9StretchLinuxでNTPサーバーとクライアントをセットアップする方法

  2. Rocky / AlmaLinux8でNFSサーバーとクライアントをセットアップする方法

  3. LinuxデスクトップにPuttySSHクライアントをインストールして構成する方法

  1. AlmaLinuxでNTPサーバーとクライアントを構成する方法

  2. LinuxサーバーにcPanelをインストールしてセットアップする方法

  3. Linux NTP サーバーとクライアントをインストールして構成する方法

  1. ArchLinuxをサーバーとしてインストールおよび設定する方法

  2. ProxmoxVEでNFSサーバーをセットアップしてNFSストレージを構成する方法

  3. LinuxでDHCPサーバーをインストールして構成する方法