GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Anleitung zum Einrichten und Konfigurieren von YPServ Linux NIS Server und Client

NIS steht für Network Information Service.

NIS wird auch als YP bezeichnet. YP steht für Gelbe Seiten.

NIS ist ein Suchdienst für eine Reihe von Datenbanken. Die Datenbanken können in diesen Fällen eine passwd-Datei, eine Gruppendatei, eine hosts-Datei usw. sein. Dies wird hauptsächlich als zentrales Repository verwendet, um alle Benutzernamen und Passwörter (z. B. /etc/passwd) zu speichern, und verschiedene Server können sich für diesen Server authentifizieren den Benutzernamen und das Passwort.

Dies ist sehr hilfreich für Systemadministratoren, die mehrere Server verwalten müssen. Anstatt ein Benutzerkonto für Ihre Benutzer auf jedem einzelnen Linux-Server zu erstellen, können Sie das Konto einfach auf einem Server erstellen, der für die Ausführung des NIS-Servers konfiguriert ist. Alle anderen Server können als NIS-Client konfiguriert werden, der sich gegenüber diesem zentralen NIS-Server-Repository authentifiziert.

Dies ist ein Schritt-für-Schritt-Tutorial, das die Installation und Konfiguration von ypserv NIS-Server und -Client erklärt.

YPServ steht für Yellow Pages Server.

Wenn bereits ein NIS-Server konfiguriert ist und Sie nur versuchen, einen Linux-Server mit einem vorhandenen NIS-Server zu verbinden, fahren Sie mit dem Abschnitt „NIS-Client konfigurieren“ weiter unten fort.

Wenn Sie sowohl NIS-Server als auch -Client installieren und konfigurieren, beginnen Sie mit dem ersten Schritt unten.

NIS-Serverkonfiguration

1. Überprüfen Sie die Portmap

Der Portmap-Server ordnet den DARPA-Port der RPC-Programmnummer zu. Für einen NIS-Client, der RPC-Aufrufe macht, um mit dem NIS-Server (der ein RPC-Server ist) zu kommunizieren, sollte Portmapper laufen.

Wenn der NIS-Server startet, informiert er den Portmapper, auf welchem ​​Port er lauscht. Wenn ein NIS-Client einen NIS-Server kontaktiert, überprüft er zuerst den Portmapper und erhält die Portnummer, auf der der NIS-Server läuft, und sendet die RPC-Aufrufe an diese Portnummer.

Auf den meisten Linux-Distributionen wird portmap standardmäßig ausgeführt. Stellen Sie sicher, dass es ausgeführt wird und so konfiguriert ist, dass es beim Neustart des Systems gestartet wird.

# 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. Installieren Sie YPServ

Installieren Sie ypserv auf Ihrem Server mit den typischen Installationsmethoden für Ihre jeweilige Linux-Distribution (zum Beispiel:apt-get oder yum oder up2date usw.).

Wenn Sie es von der Quelle installieren möchten, laden Sie die ypserv-Quelle herunter.

Identifizieren Sie auf einem Redhat-System das ypserv-RPM von Ihrer Installations-CD und installieren Sie es wie unten gezeigt mit rpm.

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

ypserv wird unter /usr/sbin/ypserv

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

3. Starten Sie ypserv

Überprüfen Sie, ob der ypserv wie unten gezeigt bei der Portmap registriert ist.

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

Die obige Ausgabe zeigt an, dass entweder ypserv nicht installiert ist oder ypserv installiert, aber noch nicht gestartet wurde. Die folgende Schnellprüfung zeigt an, dass ypserv noch nicht gestartet wurde.

# 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

Stellen Sie die NISDOMAIN in der Datei /etc/sysconfig/network wie unten gezeigt ein.

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

Starten Sie ypserv wie unten gezeigt.

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

In der Datei /etc/ypserv.conf sind einige NIS-Server-Konfigurationsparameter festgelegt. Sie müssen die Standardwerte in dieser Datei jedoch nicht ändern.

4. NIS-Datenbank generieren

Sobald ypserv installiert und gestartet ist, ist es an der Zeit, die NIS-Datenbank zu generieren. Alle NIS-Datenbanken werden im Verzeichnis /var/yp gespeichert. Bevor Sie die Datenbank generieren, sehen Sie das Verzeichnis für Ihren Domainnamen nicht unter /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

Generieren Sie die NIS-Datenbank mit dem Programm ypinit wie unten gezeigt. Sie müssen nur den Hostnamen Ihres NIS-Servers eingeben, um die Datenbank zu generieren.

# /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.

Nach dem Generieren der Datenbank können Sie sehen, dass ein neues Verzeichnis für Ihre Domain unter /var/yp erstellt wird, wie unten gezeigt.

# 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 enthält den Namen Ihres NIS-Server-Hostnamens.

# cat /var/yp/ypservers
prod-db

5. Überprüfen Sie die Installation

Überprüfen Sie die Installation des NIS-Servers, indem Sie überprüfen, ob mit dem NIS-Client-Programm ypcat auf die passwd-Datei zugegriffen werden kann.

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

Möglicherweise erhalten Sie die obige Fehlermeldung, da ypbind möglicherweise nicht auf Ihrem System ausgeführt wird. Starten Sie einfach ypbind und überprüfen Sie die Konfiguration.

# service ypbind start

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

Wenn Sie das verschlüsselte passwd-Feld nicht in der ypcat-passwd-Ausgabe anzeigen möchten, setzen Sie MERGE_PASSWD im /var/yp/Makefile wie unten gezeigt auf false.

# vi /var/yp/Makefile
MERGE_PASSWD=false

Nachdem Sie die obigen Schritte ausgeführt haben, zeigt der Befehl ypcat passwd nur ein „x“ in der passwd-Datei an.

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

Jedes Mal, wenn Sie eine Änderung vornehmen (entweder Aktualisierungen am Makefile oder Änderungen an einer Datenbank). Wenn Sie beispielsweise einen neuen Benutzer hinzufügen oder ein vorhandenes Benutzerkonto ändern, sollten Sie Folgendes tun. Ohne dies werden die Änderungen auf keinem Ihrer NIS-Clients widergespiegelt.

# cd /var/yp
# make

Ich empfehle, dass Sie dies zum Root-Cron-Job auf Ihrem NIS-Server hinzufügen, um es alle 15 Minuten auszuführen. Auf diese Weise müssen Sie sich nicht darum kümmern, dies jedes Mal manuell auszuführen, wenn Sie Änderungen an der NIS-Datenbank vornehmen.

NIS-Client-Konfiguration

Die folgenden Schritte müssen auf dem NIS-Client ausgeführt werden. Im obigen Beispiel haben wir den NIS-Server auf einem Server namens prod-db installiert. Wenn Sie möchten, dass ein anderer Linux-Server dev-db die /etc/passwd-Datei auf der prod-db zur Authentifizierung verwendet, müssen Sie die folgenden Schritte auf dem dev-db-Server (NIS-Client) ausführen.

6. Legen Sie den Domänennamen auf dem Client fest

Vergewissern Sie sich, dass der Domänenname auf diesem Server richtig eingestellt ist. Wenn dies nicht den richtigen Domainnamen zurückgibt. Führen Sie „domainname {your-domain}“ aus, um den Domainnamen auf dem Server festzulegen.

# domainname
thegeekstuff.com

Der Domänenname-Befehl wird den Domänennamen vorübergehend festlegen. d.h. wenn Sie das System neu starten, ist der Domainname weg. Um den Domänennamen dauerhaft zu machen, aktualisieren Sie die Netzwerkdatei und setzen Sie den NISDOMAIN-Parameter wie unten gezeigt.

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

7. Legen Sie den NIS-Servernamen auf dem Client fest

Fügen Sie die folgende Zeile zur Datei /etc/yp.conf hinzu. Dies weist den NIS-Client an, dass der NIS-Server prod-db ist. Anstelle von prod-db unten können Sie auch die IP-Adresse des prod-db-Servers angeben.

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

8. Starten Sie ypbind auf dem Client

ypbind ist ein NIS-Bindungsprogramm. Dies sucht nach einem NIS-Server für Ihre NIS-Domain und verwaltet NIS-Bindungsinformationen.

Stellen Sie sicher, dass ypbind auf dem NIS-Client-Server ausgeführt wird. Bei den meisten Linux-Distributionen ist ypbind bereits installiert. Wenn es nicht läuft, starten Sie es.

# ps -ef | grep ypbind

# service ypbind start

Überprüfen Sie die Installation des NIS-Servers, indem Sie überprüfen, ob mit dem NIS-Client-Programm ypcat auf die passwd-Datei zugegriffen werden kann.

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

Möglicherweise erhalten Sie die obige Fehlermeldung, da ypbind möglicherweise nicht auf Ihrem System ausgeführt wird. Starten Sie einfach ypbind und überprüfen Sie die Konfiguration.

# service ypbind start

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

Linux
  1. So richten Sie NTP-Server und -Client unter Debian 9 Stretch Linux ein

  2. So richten Sie NFS-Server und -Client unter Rocky/Alma Linux 8 ein

  3. So installieren und konfigurieren Sie den Putty SSH-Client auf einem Linux-Desktop

  4. So installieren und richten Sie cPanel auf einem Linux-Server ein

  5. So installieren und konfigurieren Sie Linux NTP-Server und -Client

So installieren und konfigurieren Sie Apache Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie den Nginx-Webserver unter Oracle Linux 8

Wie installiere und konfiguriere ich Django auf Linux VPS und Dedicated Server?

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server

So richten Sie einen Linux-VPN-Server und -Client mit OpenVPN ein

So installieren und konfigurieren Sie den DNS-Server unter Linux