• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

NIS nutzen / dcopserver nicht vorhanden

Olaf123

Member
Hallo !

Ich möchte gerne, dass jeder User sich mit seinem Namen an jedem Rechner meine kleinen Suse-9.3-Netzwerks anmelden kann, also wohl NIS nutzen.
Hab folgendes:

2 PCs (später 5)
Einer als NIS-Server eingerichtet
der andere als NIS-Client
alles mit festen IPs
verbunden über WLAN / Router

Die User vom NIS-Server werden beim Hochfahren des NIS-Client-Rechners angezeigt, nach dem auswählen kommt aber die Fehlermeldung, dass "dcopserver" nicht läuft bzw. ich soll sicherstellen, dass dieses läuft.
Ich hab keine Ahnung was das ist, wo ich es finde, wo es laufen soll usw.

Beim Booten hängt der NIS-Client-PC mehrere Minuten lang beim Eintrag
starting ypbind
bis dann die Meldung kommt:
starting ypbind . . . . . . . . . . . . No NIS Server found

Das Suse-Admin Buch hilft mir nicht gerade weiter...

Was mache ich falsch ?

Gruß
Olaf
 

stka

Guru
Die Home-Verzeichnisse liegen auch auf dem Server, also musst du mit NFS auch noch das Verzeichnis /home vom Server auf die Clients mounten. Sonst geht auch kein KDE, denn wo soll der die dcop-Dateine ablegen ;-)
 
OP
O

Olaf123

Member
Hallo !

Danke für Deine Antwort.
stka schrieb:
Die Home-Verzeichnisse liegen auch auf dem Server, also musst du mit NFS auch noch das Verzeichnis /home vom Server auf die Clients mounten.

Wie mache ich das ?
Kannst Du das mit ein paar Worten erklären oder einen link nennen ?

(Linux-Neuling...)

Ich habe bei der Einrichtugn des "Servers" den Punkt "Automount" angeklickt, reicht das nicht ?

Gruß
Olaf
 

stka

Guru
Du kannst das mit yast machen, ist für den Anfang am einfachsten. Schau auf deinem Server und richte dort dann das Verzeichnis mit Schreibrecht für alle Hosts ein. Das Ergebnis findest du dann in der Datei /etc/exports das ganze sieht ungefähr so aus:
/home *.domaene.hier(rw,sync)
Dann im Runleveleditor das Starten den nfsservers eintragen, das geht auch im yast.
Auf dem Client kannst du dann auch über den yast deine Verzeichnisse montieren (/home vom Server auf /home vom client). Das wir dann in der Datei /etc/fstab eingetragen. Das sieht dann dann ungefähr so aus:
server:/home /home nfs defaults 0 0
Dann sollten die home-Verzeichnisse der Benutzer auch auf den Clients erreichbar sein.

Gruß

Stefan
 
OP
O

Olaf123

Member
stka schrieb:
Schau auf deinem Server und richte dort dann das Verzeichnis mit Schreibrecht für alle Hosts ein. Das Ergebnis findest du dann in der Datei /etc/exports das ganze sieht ungefähr so aus:
/home *.domaene.hier(rw,sync)
Ok, hab das nochmal überprüft und geändert: hatte die Standardeinstellungen belassen, also ro, root usw, hab jetzt geändert auf rw,sync.
Der Eintrag in der Datei /etc/exports ist übrigends
/home *(rw,sync)
Ist das so korrekt ?

stka schrieb:
Dann im Runleveleditor das Starten den nfsservers eintragen, das geht auch im yast.
Stand schon als aktiv drin.

stka schrieb:
Auf dem Client kannst du dann auch über den yast deine Verzeichnisse montieren (/home vom Server auf /home vom client). Das wir dann in der Datei /etc/fstab eingetragen. Das sieht dann dann ungefähr so aus:
server:/home /home nfs defaults 0 0
Yast -> nfs-Client -> Hinzufügen -> wählen -->
findet keinen Server, genauso wie vorher, keine Veränderung.

Was nun ?

Gruß
Olaf
 

stka

Guru
was zeigt wird denn Angezeigt wenn du am client "mount" eingibst?

Wenn der yast deinen Server nicht findet, mach erst mal folgendes:
1. Öffne eine Konsole und mache dich mit "su" zum root
2. Mounte das Verzeichnis von Hand mit:
mount -t nfs <ip-des-servers>:/home / home
hier gilt nach dem Befehl " keine Meldung ist eine gute Meldung"
3. Jetzt schau noch mal mit "mount" ob das /home jetzt gemountet ist.
4. Jetzt solltest du die Verzeichnisse deiner Benutzer unter /home sehen.
5. jetzt die Datei /etc/fstab mit einem Editor öffnen und den folgenden Eintrag hinzufügen:
<server-ip>:/home /home /nfs defaults 0 0
jetzt sollte beim neu Start auch das Verzeichnis home zur Verfügung stehen.
6. Ein Linux Buch kaufen und lesen und lernen und üben ;-)

Der Eintrag in deiner /etc/services ist ok.
 
OP
O

Olaf123

Member
stka schrieb:
was zeigt wird denn Angezeigt wenn du am client "mount" eingibst?
/dev/hda7 on / type reiserfs (rw,acl,user_xattr)
proc on /proc type proc (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/hda5 on /boot type ext2 (rw,acl,user_xattr)
/dev/hda1 on /windows/C type ntfs (ro,noexec,nosuid,nodev,gid=100,umask=0002,nls=utf8)
/dev/hdc on /media/cdrom type subfs (ro,nosuid,nodev,fs=cdfss,procuid,iocharset=utf8)
/dev/fd0 on /media/floppy type subfs (rw,nosuid,nodev,sync,fs=floppyfss,procuid)
usbfs on /proc/bus/usb type usbfs (rw)

stka schrieb:
Wenn der yast deinen Server nicht findet, mach erst mal folgendes:
1. Öffne eine Konsole und mache dich mit "su" zum root
2. Mounte das Verzeichnis von Hand mit:
mount -t nfs <ip-des-servers>:/home / home
hier gilt nach dem Befehl " keine Meldung ist eine gute Meldung"
ok, dann war das eben eine "gute Meldung", hat nix gesagt.

stka schrieb:
3. Jetzt schau noch mal mit "mount" ob das /home jetzt gemountet ist.
/dev/hda7 on / type reiserfs (rw,acl,user_xattr)
proc on /proc type proc (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/hda5 on /boot type ext2 (rw,acl,user_xattr)
/dev/hda1 on /windows/C type ntfs (ro,noexec,nosuid,nodev,gid=100,umask=0002,nls=utf8)
/dev/hdc on /media/cdrom type subfs (ro,nosuid,nodev,fs=cdfss,procuid,iocharset=utf8)
/dev/fd0 on /media/floppy type subfs (rw,nosuid,nodev,sync,fs=floppyfss,procuid)
usbfs on /proc/bus/usb type usbfs (rw)
192.168.1.210:/home on /home type nfs (rw,addr=192.168.1.210)

Schaut auch gut aus ... !?

stka schrieb:
4. Jetzt solltest du die Verzeichnisse deiner Benutzer unter /home sehen.
Ja, ich sehe sie.
Komisch ist nur, dass ich den 2. User, der lokal auf dem Client-PC eingerichtet ist, hier nicht sehe.
Server-PC: User1, User2, User3, User4
Client-PC: User1, UserB
--> Ich sehe jetzt im home-Ordner des Client-PCs:
User1, User2, User3, User4, UserB

Werden hier jetzt nur noch die User des Server-PCs angezeigt?
User1 hat auf beiden PCs den gleichen Namen, daher kann ich nicht erkennen, ob es auf dem Client der lokale oder der vom Server ist.
ich vermute aber mal, dass dort nur die vom Server angezeigt werden ?!

Naja, weiter gehts:

ich hau jetzt mal das da rein
stka schrieb:
5. jetzt die Datei /etc/fstab mit einem Editor öffnen und den folgenden Eintrag hinzufügen:
<server-ip>:/home /home /nfs defaults 0 0
jetzt sollte beim neu Start auch das Verzeichnis home zur Verfügung stehen.
und melde mich gleich wieder mit einem Erfolgserlebnis....

stka schrieb:
6. Ein Linux Buch kaufen und lesen und lernen und üben ;-)
...und werde dann wohl heute Abend mal "Linux" von Kofler bestellen, hab das auf amazon gebraucht gesehen :)

bis gleich
Gruß
Olaf
 
OP
O

Olaf123

Member
stka schrieb:
5. jetzt die Datei /etc/fstab mit einem Editor öffnen und den folgenden Eintrag hinzufügen:
<server-ip>:/home /home /nfs defaults 0 0
jetzt sollte beim neu Start auch das Verzeichnis home zur Verfügung stehen.
Funktioniert nicht.
Habe beide von Dir genannten Versionen getestet:

a)
<server-ip>:/home /home /nfs defaults 0 0

b)
<server-ip>:/home /home nfs defaults 0 0

Beides bewirkt keine Veränderung nach Neustart.
Beim Booten kommt u.a. die Meldung
"scanning usb: [mntent]: warning: no final newline at the end of /etc/fstab"
und er hängt weiterhin bei "starting ypbind".

Was ist eigentlich mit der Datei fstab.YaST.save ?

Gruß
Olaf
 
OP
O

Olaf123

Member
yo, hatte mir google vorhin schon verraten, ist behoben.
Funktioniert aber immer noch nicht.

Sobald ich aus der Userliste (die ja trotz der Meldung beim Booten "starting ypbind .... No NIS server found" trotzdem korrekt angezeigt wird) einen User des Server-PCs auswähle und versuche mich einzuloggen, kommen die Meldungen

Es ist ein Problem bei der Einrichtung der Kommunikation zwischen den KDE-Prozessen aufgetreten. Die Meldung des Systems lautete:
Could not read network connection list.
//.DCOPserver_linux_0
Bitte stellen Sie sicher, dass das Programm "dcopserver" läuft.

Einstellungen werden nicht gespeichert.
Einrichtungsdatei "//.kde/share/config/ksplashrc" lässt sich nicht speichern.
Einrichtungsdatei "//.kde/share/config/kdeglobal lässt sich nicht speichern.
Bitte nehmen Sie Kontakt zur Systemverwaltung auf.

EDIT:
mmhh... das Verzeichnis .kde/... existiert bei den gemounteten Usern gar nicht, besser gesagt nur bei einem.
Könnte es sein, dass das Verzeichnis .kde/ erst erstellt wird, wenn ein User (in diesem Fall auf dem Server) sich das erste mal einloggt?
Muss man evtl. jeden neu erstellten User lokal auf dem Server erst einmal einloggen ?
Ich teste das mal.
 

stka

Guru
Schaun wir mal, sieht doc hschon besser aus ;-) also nicht den Kopf hängen lassen. Das der mount-Befehl als root klappt zeigt, dass der NFS-Server richtig läuft.
Das du das Verzeichnis des lokalen Benutzers nicht mehr siehst, ist normal. Beim Mounten wird das zu mountende Verzeichnis, über das Verzeichnis das als Mountpoint dient, gelegt. Ist genau als wenn du ein Bild über ein anderes legst du siehst dann nur das obere ;-). Wenn du das Verzeichnis wieder unmoutest dann siehst du wieder das lokale.
Asche über mein Haupt :oops: in Punkt 5 ist mir ein Fehler unterlaufen.
5. jetzt die Datei /etc/fstab mit einem Editor öffnen und den folgenden Eintrag hinzufügen:
<server-ip>:/home /home /nfs defaults 0 0
jetzt sollte beim neu Start auch das Verzeichnis home zur Verfügung stehen.
Die Zeile muss so aussehen
<server-ip>:/home /home nfs defaults 0 0
vor nfs KEIN /.
Das mit dem Return am Ende der Zeile hast du ja jetzt. Das ist immer wichtig, nie vergessen. Dieser Fehler taucht meist bei der letzten Zeile auf und der Fehler wird dir ganz wo anders angezeigt.
Wenn du das gemacht hast, gieb mal "mount -a" ein, dann werden alle Einträge der fstab gemountet, die noch nicht gemountet sind. Wenn du jetzt dein Verzeichnis /home nicht mit allen Server Benutzern siehst, dann poste mal die Fehlermeldung und deine komplette /etc/fstab.
Wenn das mounten geht, kümmern wir uns mal um deinen NIS-Server, wenn da noch Fehler auftauchen.

Gruß

Stefan
 
OP
O

Olaf123

Member
Hallo stka !

stka schrieb:
Schaun wir mal, sieht doc hschon besser aus ;-) also nicht den Kopf hängen lassen.
Danke Dir :D

stka schrieb:
Asche über mein Haupt :oops: in Punkt 5 ist mir ein Fehler unterlaufen.
5. jetzt die Datei /etc/fstab mit einem Editor öffnen und den folgenden Eintrag hinzufügen:
<server-ip>:/home /home /nfs defaults 0 0
jetzt sollte beim neu Start auch das Verzeichnis home zur Verfügung stehen.
Die Zeile muss so aussehen
<server-ip>:/home /home nfs defaults 0 0
vor nfs KEIN /.
Hatte ich schon geändert.

stka schrieb:
Wenn du das gemacht hast, gieb mal "mount -a" ein, dann werden alle Einträge der fstab gemountet, die noch nicht gemountet sind. Wenn du jetzt dein Verzeichnis /home nicht mit allen Server Benutzern siehst, dann poste mal die Fehlermeldung und deine komplette /etc/fstab.
Wenn das mounten geht, kümmern wir uns mal um deinen NIS-Server, wenn da noch Fehler auftauchen.
mount -a (als root) mountet alle Server-Verzeichnisse (bzw. die User) korrekt, sind also dann in /home auf dem Client sichtbar.

fstab Inhalt:
/dev/hda7 / reiserfs acl,user_xattr 1 1
/dev/hda5 /boot ext2 acl,user_xattr 1 2
/dev/hda1 /windows/C ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/hda6 swap swap pri=42 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
sysfs /sys sysfs noauto 0 0
/dev/cdrom /media/cdrom subfs fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/fd0 /media/floppy subfs fs=floppyfss,procuid,nodev,nosuid,sync 0 0
192.168.1.210:/home /home nfs defaults 0 0

stka schrieb:
Wenn das mounten geht, kümmern wir uns mal um deinen NIS-Server, wenn da noch Fehler auftauchen.

Gestern Abend hab ich auf beiden Rechnern alles per Yast nochmal eingerichtet, besser gesagt die Einträge dort nochmal durchgegangen, danach konnte ich mich auf einmal vom Client aus einloggen; der Bildschirmhintergrund war weiss, sonst alles ok.
Nach einem Neustart gings jedoch wieder nicht.

Beim Booten hab ich unter anderem irgendwann die Meldung
"failed services in runlevel 5: nfs"
gesehen, ich weiss aber nicht mehr ob vor oder nach den letzten Änderungen.
Und halt diese minutenlange Meldung beim Booten
"Starting ypbind . . . . . . . no NIS Server found"

Gruß
Olaf
 

stka

Guru
Hallo Olaf,

jetzt muss ich erst mal etwas nachdenken, NIS mache ich kaum noch, da ich heute immer LDAP nehme, ist einfach flexibler und sicherer.
Aber ich sehe gerade, du hast suse 9.3, da läuft auf jedem Rechner eine Firewall, die solltest du mal abschalten ( über den yast im Runleveleditor) und dann alle Rechner neu starten, zuerst den Server und genau auf die Startmeldungen schauen.
NIS und NFS sind bei einer Firewall IMMER ein Problem. Jeder andere Dienst hat einen festen TCP-Port z.B. http = 80, ftp = 21, smtp = 25. Das ist bei nFS und NIS nicht so. Die Ports werden bei jedem neustart von dem
Portmapper (läuft auf dem Port 111) neu vergeben. Das kannst du mit "rpcinfo -p <ip-adr>" testen. Wenn nun eine Client einen Dienst anfordert, schickt er an den Server eine rpc-Anfrage. Dieser teilt dem Client mit auf welchem Port der Dienst NIS oder NFS erreichbar ist. Dann spricht der Client diesen Port an. Jetzt kommt deine Firewall ins Spiel, die erlaubt jetzt keinen Zugriff über diesen Port :wtf: und das wars dann, keine Verbindung.
Also schalt mal auf allen Rechnern die Firewall aus und probiers mal.

Gruß

Stefan
 
OP
O

Olaf123

Member
Hallo Stefan !

Server hat 9.3, Client momentan 9.1, später wahrscheinlich auch 9.3.
Auf beiden habe ich "in waiser Voraussicht" bereits bei der Installation die Firewall deaktiviert.

Aber selbst wenn das nicht so wäre, dann dürfte doch auch bei manueller Aktivierung (die ja funktioniert) keine Verbindung zustande kommen, oder ?

Lt. Yast ist zB auf dem Server die Firewall deaktiviert.
Dort steht aber in der Zusammenfassung auch:
Nicht zugewiesene Schnittstellen
Über diese Schnittstellen ist kein Netzwerkverkehr erlaubt.
- 3com blablabla (meine Netzwerkkarte, nicht am Netz angeschl.)
- / wlan-0-id- blabla (mein WLAN-USB-Stick über den die Verbindung läuft: Stick <--Router-->Stick)

Ich gehe davon aus, dass der Satz "Nicht zugewiesene Schnittstellen" nur dann relevant ist, wenn die Firewall aktiviert ist !?

Im Runleveleditor des Servers steht hinter nfs ein "Ja*", d.h. lt. links daneben stehendem Hinweis, "...dass der Dienst aktiviert ist, jedoch nicht läuft...".

Beim Client ist das ok: "Ja".

Seltsamerweise steht beim Server auch für das Script /etc/init.d/wlanup, über das mein USB-Stick angesteuert wird, ein "Ja*", beim Client ist auch das ok.
Funktioniert aber auf beiden.

Irgendwie komme ich nicht weiter.
Kann ich nicht einfach auf die ganzen Tests verzichten und schlichtweg irgendeine Datei (wie meine wlanup) wohineinauchimmer schreiben, so dass der mount-Befehl einfach kurz vor dem grafischen Anmelde-Bildschirm mit den Usernamen gestartet wird ?
Ist zwar evtl. nicht die feine Art, aber bei dem Stick hats auch nicht über Yast usw. funktioniert.

(Hab gestern den Kofler bestellt...)

Gruß
Olaf
 

stka

Guru
Mach mal folgendes:
1. Starte auf einer Konsole "tail -f /var/log/messages"
2. Starte deinen NIS Server neu es gibt dazu ein rc-skript rcnisserver oder so in /usr/sbin
3. Schau dir die Meldungen an und kopiere die in einen Editor
4. Starte den NFS-Server neu mit "rcnfsserver restart"
5. siehe 3.

Jetzt gehe an einen Client und mach folgendes:
1. Wie 1. auf dem Server
2. Starte den nisbind neu
3. Wie 3. auf dem Server

Was dann in deinem Editor ist poste dann mal

Gruß

Stefan
 
OP
O

Olaf123

Member
ok

/usr/sbin/rcnis o.ä. hab ich nicht gefunden, daher mit Yast neu gestartet (bzw. konfiguriert, dann wirds ja neu gestartet)

Linux-Konsole:

tail -f /var/log/messages

Jul 6 13:03:55 linux1 kernel: STA_DEAUTHED
Jul 6 13:03:55 linux1 kernel: mac addr = 00:02:72:44:b7:25
Jul 6 13:03:55 linux1 kernel: STA_ASSOCIATED
Jul 6 13:03:55 linux1 kernel: mac addr = 00:02:72:44:b7:25
Jul 6 13:10:48 linux1 syslog-ng[3585]: STATS: dropped 0
Jul 6 19:16:12 linux1 su: (to nobody) root on none
Jul 6 19:16:12 linux1 syslog-ng[3585]: STATS: dropped 0
Jul 6 19:38:34 linux1 su: (to root) eschwe on /dev/pts/3
Jul 6 19:41:32 linux1 su: (to root) eschwe on /dev/pts/4
Jul 6 19:45:29 linux1 su: (to root) eschwe on /dev/pts/5

Jetzt NIS-Server per Yast neu gestartet

Linux-Konsole:

Jul 6 19:46:02 linux1 ypserv[7048]: Error registering service with slp -20
Jul 6 19:46:03 linux1 ypserv[12042]: Error registering service with slp -20
Jul 6 19:46:12 linux1 ypbind[7319]: Unbekanntes Signal: 0

X-Terminal gestartet, Linux-Konsole zeigt:

Jul 6 19:50:47 linux1 su: (to root) ICH on /dev/pts/6

in X-Terminal:
rcnfsserver restart

Linux-Konsole:
Jul 6 19:53:00 linux1 kernel: nfsd: last server has exited
Jul 6 19:53:00 linux1 kernel: nfsd: unexporting all filesystems
Jul 6 19:53:00 linux1 rpc.mountd: Caught signal 15, un-registering and exiting.
Jul 6 19:53:01 linux1 kernel: end_request: I/O error, dev fd0, sector 0
Jul 6 19:53:02 linux1 kernel: end_request: I/O error, dev fd0, sector 0

###

Nun an den Client:

xterm-Konsole:

tail -f /var/log/messages

Jul 6 19:48:03 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:49:17 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:50:31 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:51:45 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:52:59 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:54:13 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:55:27 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:56:41 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 19:56:45 linux su: (to root) ICH on /dev/pts/1
Jul 6 19:56:45 linux su: pam_unix2: session started for user root, service su

alle paar Sekunden kommt hier wieder die Meldung
Datum Uhrzeit linux ypbind[3209]: broadcast: RPC: Timed out.

"nisbind" ist wohl "/etc/init.d/ypbind !?
Ich weiss nciht, wie man den beendet...

hab daher nochmal versucht den NIS-Client per Yast zu starten bzw. neu zu konfigurieren und somit neu zu starten, aber das geht ja nicht: bei 50% bleibt er einige Minuten hängen, bis er meldet "Fehler, NIS-Server wurde nicht gefunden"
Hab mir daher erstmal ne Fleischwurst gegessen, in der Zeit kam das hier in der xterm-Konsole:

Jul 6 20:09:02 linux ypbind[3209]: broadcast: RPC: Timed out.
Jul 6 20:10:02 linux ypbind[3209]: Unknown signal: 0
Jul 6 20:11:01 linux ypbind[6186]: broadcast: RPC: Wartezeit abgelaufen.
Jul 6 20:11:55 linux ypbind[6186]: broadcast: RPC: Wartezeit abgelaufen.

EDIT:
wenn ich schlichtweg "ypbind" in /etc/init.d/" eingebe, meldet die Konsole nix, aber tail in xterm meldet
Datum uhrzeit linux ypbind[6421]: ypbind-mt läuft bereits (pid 6186) - beende mich

Würde ich gerne, wenn ich wüsste wie.

Da ich weder über google, noch über mein Admin-Buch herausbekomme, wie man ypbind per Konsole beendet, hab ichs jetzt einfach per Yast deaktiviert und danach in der Konsole mit "ypbind" wieder gestartet.
Es kommt keine Meldung.
Geb ich`s nochmal ein, kommt
Jul 6 23:02:56 linux ypbind[7192]: ypbind-mt läuft bereits (pid 7187) - beende mich

EDIT 2:
da ich "rein zufällig" 4 PCs hier im Wohnzimmer aufgebaut und teilweise zum Testen eingerichtet habe, hab ich nun mal probiert, mich von einer frischen 9.3-Installation aus als Client auf den Server anzumelden.
Auch hier findet die Suchfunktion im Yast-NIS-Clienten den Server bzw. dessen IP, aber dann nach der Bestätigung hängt die Yast Einstellung für den NIS-Clienten bei 50% und bricht nach mehreren Minuten mit der Meldung "Fehler, NIS-Server wurde nicht gefunden" ab.
Es könnte daher doch auch am Server liegen ?!

Bei NFS am Client ist es noch extremer: der findet erst gar keinen nfs-Server.
 

stka

Guru
Dein Problem ist dein NIS-Server, dann wollen wir mal schauen. Erst mal vorab. Die rc-Kommandos für den NIS, So langsam kommt's wieder ;-) :
NIS-Server == rcypserv
NIS-Passwort == rcyppasswd
NIS-Client (MUSS auch auf dem Server laufen) == rcypbind
All Kommandos kannst du mit dem Parameter "start, stop, restart" verwenden. Als Tipp schau mal auf

http://www.linux-nis.org

Jetzt wollen wir mal, alles was jetzt kommt machen wir auf dem Server:
Schau mal in dein Verzeichnis /var/yp, dort solltest du ein Verzeichnis finden, das genau so heißt wie deine NIS-Domäne eine Datei ypservers und einen Makefile. Ist das alles da? Wenn nicht, kann es nicht klappen, dann hat was mit deiner Konfiguration nicht geklappt, gib dann mal ein "domainname <deine domäne>", Dann wir das Verzeichnis entweder jetzt oder im nächsten Schritt angelegt.
Im Verzeichnis <domainname> sollten sich mehrere Dateien befinden, unter anden:
yppasswd.byname
yppasswd.byuid
......
Das sind die NIS-Maps, die Datenbanken für den NIS-Server. Sind die da?
Wenn nicht, wechsle in Verzeichnis /var/yp und gib dort "make" ein, dann sollten die NIS-Maps erstellt werden. Ohne die läuft nix.
Nach einem neustart des NIS-Servers kannst du mal das Kommando "ypwhich" ausprobieren, dann sollte dein Servername angezeigt werden.
Bis hier hin erst mal. Schau auch mal in das Howto.

Gruß

Stefan
 
OP
O

Olaf123

Member
Hallo Stefan !
stka schrieb:
Dein Problem ist dein NIS-Server, dann wollen wir mal schauen. Erst mal vorab. Die rc-Kommandos für den NIS, So langsam kommt's wieder ;-) :
NIS-Server == rcypserv
NIS-Passwort == rcyppasswd
NIS-Client (MUSS auch auf dem Server laufen) == rcypbind
All Kommandos kannst du mit dem Parameter "start, stop, restart" verwenden. Als Tipp schau mal auf

http://www.linux-nis.org
Schau ich gleich nach.
Schau mal in dein Verzeichnis /var/yp, dort solltest du ein Verzeichnis finden, das genau so heißt wie deine NIS-Domäne eine Datei ypservers und einen Makefile. Ist das alles da?
Ja.
Im Verzeichnis <domainname> sollten sich mehrere Dateien befinden, unter anden:
yppasswd.byname
yppasswd.byuid
......
Das sind die NIS-Maps, die Datenbanken für den NIS-Server. Sind die da?
Fast:
dort sind
passwd.byname
passwd.byuid
Ich vermute, die meinst Du !?
Nach einem neustart des NIS-Servers kannst du mal das Kommando "ypwhich" ausprobieren, dann sollte dein Servername angezeigt werden.
Bis hier hin erst mal.
Da alles da ist hab ich jetzt direkt "ypwhich" eingegeben, angezeigt wurde mein korrekter Servername.
Hab in den letzten Tagen 3 Namen ausprobiert, alle drei fand ich als Verzeichnis auch unter /var/yp/ wieder.

Gruß
Olaf
 

stka

Guru
Das sieht doch schon mal nicht schlecht aus ;-). Wenn du "domainname" eingibst, siehst du deinen aktuellen NIS-Domain-namen. Nur das Verzeichnis, das zu dem Namen passt brauchst du ;-) alle anderen kannst du ohne Bedenken löschen, nur Mut.
Die Dateien passwd.byname und passwd.byuid sind ok, welche Dateien hast du noch? Du solltest noch zwei Dateien haben die auf die group Datei verweisen und zwei die auf die Hosts-Datei verweisen.
Mit ypcat kannst du die Dateien anzeigen lassen z.B "ypcat passwd.byname" Wenn das Kommando klappt sollte dein Server richtig laufen. Mach mal ein "rpcinfo -p localhost" am Server und poste das mal. Zusätzlich noch ein "rpcinfo -p <ip-des-servers>" von einem Client.

Gruß

Stefan
 
OP
O

Olaf123

Member
stka schrieb:
Die Dateien passwd.byname und passwd.byuid sind ok, welche Dateien hast du noch? Du solltest noch zwei Dateien haben die auf die group Datei verweisen und zwei die auf die Hosts-Datei verweisen.
Ich kann zwar nicht erkennen, was da auf was verweist, aber das sind sie:
dir /var/yp/linuxnet
insgesamt 1934
drwxr-xr-x 2 root root 376 2005-07-07 20:19 .
drwxr-xr-x 7 root root 376 2005-07-07 20:19 ..
-rw------- 1 root root 12451 2005-07-07 20:19 group.bygid
-rw------- 1 root root 12455 2005-07-07 20:19 group.byname
-rw------- 1 root root 13237 2005-07-07 20:19 netid.byname
-rw------- 1 root root 12918 2005-07-07 20:19 passwd.byname
-rw------- 1 root root 12907 2005-07-07 20:19 passwd.byuid
-rw------- 1 root root 16384 2005-07-07 20:19 rpc.byname
-rw------- 1 root root 14236 2005-07-07 20:19 rpc.bynumber
-rw------- 1 root root 786500 2005-07-07 20:19 services.byname
-rw------- 1 root root 1245184 2005-07-07 20:19 services.byservicename
-rw------- 1 root root 12421 2005-07-07 20:19 ypservers
Mit ypcat kannst du die Dateien anzeigen lassen z.B "ypcat passwd.byname"
ypcat passwd.byname
nobody:*:65534:65533:nobody:/var/lib/nobody:/bin/bash
ulrichs:$2a$05$FPeXBZwGzXRKZJirEj0E/OKVirJdMNmCOmoamoWWLFcX0FPCy16Z2:1002:100:ulrichs:/home/ulrichs:/bin/bash
eschwe:$2a$05$oEWzuYvlNxzJwquRqmJHj.CqoD0GldsHAYXrTEEf1D/TImbqaA9L.:1000:100:eschwe:/home/eschwe:/bin/bash
tiedemann:$2a$05$f4Y011S3rGFhFbIqA7agye8BXBf.1C./87O1f.hat152OtJduM8E.:1003:100:tiedemann:/home/tiedemann:/bin/bash
weu:$2a$05$jmxGp9l9xFbnZvK29sN25urOUNve0TO4Gj4aMIM65iBjgbabaiC2u:1001:100:weu:/home/weu:/bin/bash
Wenn das Kommando klappt sollte dein Server richtig laufen. Mach mal ein "rpcinfo -p localhost" am Server und poste das mal.
rpcinfo -p localhost

Program Vers Proto Port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100004 2 udp 714 ypserv
100004 1 udp 714 ypserv
100004 2 tcp 717 ypserv
100004 1 tcp 717 ypserv
600100069 1 udp 744 fypxfrd
600100069 1 tcp 746 fypxfrd
100007 2 udp 742 ypbind
100007 1 udp 742 ypbind
100007 2 tcp 747 ypbind
100007 1 tcp 747 ypbind
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100024 1 udp 1026 status
100021 1 udp 1026 nlockmgr
100021 3 udp 1026 nlockmgr
100021 4 udp 1026 nlockmgr
100024 1 tcp 1025 status
100021 1 tcp 1025 nlockmgr
100021 3 tcp 1025 nlockmgr
100021 4 tcp 1025 nlockmgr
100005 1 udp 825 mountd
100005 1 tcp 828 mountd
100005 2 udp 825 mountd
100005 2 tcp 828 mountd
100005 3 udp 825 mountd
100005 3 tcp 828 mountd
Zusätzlich noch ein "rpcinfo -p <ip-des-servers>" von einem Client.

EDIT:

rpcinfo -p 192.168.1.210

Program Vers Proto Port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100024 1 udp 1026 status
100021 1 udp 1026 nlockmgr
100021 3 udp 1026 nlockmgr
100021 4 udp 1026 nlockmgr
100024 1 tcp 1025 status
100021 1 tcp 1025 nlockmgr
100021 3 tcp 1025 nlockmgr
100021 4 tcp 1025 nlockmgr
100005 1 udp 865 mountd
100005 1 tcp 868 mountd
100005 2 udp 865 mountd
100005 2 tcp 868 mountd
100005 3 udp 865 mountd
100005 3 tcp 868 mountd
100004 2 udp 668 ypserv
100004 1 udp 668 ypserv
100004 2 tcp 671 ypserv
100004 1 tcp 671 ypserv
600100069 1 udp 688 fypxfrd
600100069 1 tcp 690 fypxfrd
100007 2 udp 960 ypbind
100007 1 udp 960 ypbind
100007 2 tcp 963 ypbind
100007 1 tcp 963 ypbind


EDIT ENDE


###

Hab mal noch ein paar Sachen mehr eingegeben, die lt. google ganz brauchbar klangen... :)

#ps axu (auf dem Server)
...
root 5726 0.0 0.0 0 0 ? S 20:23 0:00 [nfsd]
...
username 6103 0.0 6.2 23316 7908 ? S 20:28 0:00 dcopserver [kdeinit] dcopserver --nosid
...

#ps axu (auf dem Client)
...
pc_1_lo 4657 0.0 5.5 22192 6980 ? S 22:12 0:00 kdeinit: dcopserver --nosid
...

EDIT 2:
ach ja, wenn ich die home-Verzeichnisse von Hand mounte und dann den lokalen User auf dem Client-PC auslogge kann ich mich problemlos mit den anderen externen (auf dem Server liegenden) Accounts wieder anmelden.
Nur beim Systemstart ist halt alles futsch.


EDIT 3:

beim Versuch, mich nach dem normalen Systemstart als externer (auf dem Server befindlicher) User einzuloggen, kommen ja wie bereits erwähnt oben genannnte Fehlermeldungen.

Eine hatte ich vergessen:
zusätzlich bzw. zum Abschluss des Einlogg-Versuchs kommt dann noch folgende Fehlermeldung, bevor der Anmeldebildschirm wieder neu aufgerufen wird
could not start ksmserver. Bitte kontrollieren Sie Ihre Installation
(oder so ähnlich)

Ich habe nochmal einige Abfragen gemacht:

auf dem Server:

freigegebene Verzeichnisse anzeigen:
# exportfs
/home 192.168.1.212
/home/tiedemann
<world>
/home <world>

anzeigen, ob der portmapper läuft:
# rcportmap status
Checking for RPC portmap daemon: running

anzeigen ob der NFS-Server läuft:
# rcnfsserver status
Checking for kernel based NFS server: running


auf dem Client:

gemountete NFS-Freigaben anzeigen:
# rcnfs status
checking for mounted nfs shares /from /etc/fstab): unused

anzeigen, ob der portmapper läuft:
rcportmap status
Checking for RPC portmap daemon: running

#####

ich frage mich, ob NIS überhaupt gestartet werden kann bei meiner Konfiguration.
Folgender Gedanke (vielleicht Anfänger-Quatsch, aber naja...):

mein Netz läuft mit einem USB-WLAN-Stick (Fiberline 410 mit zd1211-Chip). Linux-Treiber war dabei.

Treiber make clean / make / make install usw.
Der Stick wurde von Suse 9.1/9.3 nicht erkannt, nix zu machen.

Zum Laufen bekommen habe ich das ganze dann nur mit Ach und Krach, indem ich in ein Script /etc/init.d/wlanup erstellt und in die entsprechenden Runlevels verlinkt habe.

Inhalt meiner "wlanup":

#! /bin/sh

### BEGIN INIT INFO
# Provides: wlanup
# Required-Start: $syslog $remote_fs
# Required-Stop: $syslog $remote_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: wlan-Stick
# Description: wlan-Stick Fiberline mit zd1211-Chip einschalten und ansteuern
### END INIT INFO

# Feste IP setzen
/sbin/ifconfig wlan0 192.168.1.212

# Daten des Routers angeben
/usr/sbin/iwconfig wlan0 essid "MEINE SSID" mode Managed rate auto key MEINWEPKEYJAICHWEISSDASISTNICHTSICHER

# Standard-Gateway einstellen/setzen: hier wird die IP des Routers eingetragen
route add default gw 192.168.1.254

Ich bin nun am Grübeln, ob NIS so überhaupt gestartet werden kann, denn:

im Booten sehe ich ja die aufgerufenen Elemente (was-auch-immer) in der Reihenfolge des Aufrufs.
Dort werden offenbar die Netzwerkkarten vor dem NIS bzw. ypbind aufgerufen.
NICHT aber dieser USB-Stick, da er ja nirgends in Suse eingetragen ist, nur manuell in dem wlanup-Script.

Sehe ich das richtig, dass somit NIS gar nicht beim Booten aufgerufen bzw. die Verzeichnisse gemountet werden können?
(evtl. bringe ich gerade die Bezeichnungen durcheinander...)

Gruß
Olaf
 
Oben