PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux im Linuxnetzwerk



schuelsche
28.03.03, 21:40
Hallo Ihrs,

irgendwie komme ich nicht weiter :-(

Ich versuche, einen SuSE Linux 8.1 Rechner mit einem SuSE Linux 8.1 Rechner zu verbinden.

Ich habe bereits Webmin auf beiden Rechnern installiert und der Zugriff von Windows auf den Linuxrechner funktioniert problemlos. Nur jetzt im homogenen Netzwerk geht irgendwie gar nix und ich weiss nicht, wo der Fehler liegt...

Auch habe ich es jetzt schon mit NFS versucht, Verzeichnis auf dem Rechner 1 freigegeben und den NFS-Server gestartet. Wenn ich nun versuche, mit dem Befehl
mount -t nfs rechner1:/verzeichnis1/verzeichnis2 /mnt
auf den Rechner zuzugreifen (was nur als Root geht) bekomme ich die Fehlermeldung:
mount: RPC: Programm nicht gestartet.

Auf welchem Rechner ist das Programm nicht gestartet? Und wie starte ich das dann??

Wenn ich in /etc/var/messages lese, wird mir mitgeteilt, ein unautorisierter Rechner würde zugreifen wollen, aber die IP des Rechners 2 habe ich bei der NFS-Konfiguration mit angegeben...

Aber mal ganz abgesehen davon müsste das ganze doch auch über Webmin zu konfigurieren sein, nur über die Windows-Datenfreigaben kommt man zu Samba und da seh ich nirgends die Möglichkeit, die Geschichte zwischen Linux-Rechnern einzustellen...

Bitte um Hilfe,

Grüsse
schuelsche

dauni
28.03.03, 21:53
rcportmap (oder ähnlich) start
im webmin stellt man nfs unter nfs ein :ugly:

Thomas Mitzkat
28.03.03, 22:01
mount -t nfs rechner1:/verzeichnis1/verzeichnis2 /mnt

der befehl ist auch nicht der richtige:



mount -t nfs rechner1:/freigabe /mnt/rechner1_freigabe


verzeichnis /mnt/rechner1_freigabe muss natürlich existent sein.
interessant wäre auch mal deine /etc/exports von rechner1 zu sehen.

Nuno
28.03.03, 22:13
und wenn da was von nicht erlaubten zugriffen steht würde ich mal die lokale firewall checken ...

denn die ist nfs technisch zu 98% zu !!! :D

RTC
28.03.03, 22:13
Original geschrieben von Thomas Mitzkat
der befehl ist auch nicht der richtige:



mount -t nfs rechner1:/freigabe /mnt/rechner1_freigabe


verzeichnis /mnt/rechner1_freigabe muss natürlich existent sein.
interessant wäre auch mal deine /etc/exports von rechner1 zu sehen.

Das ist doch total egal, ob er direkt nach /mnt oder in ein Unterverzeichnis mountet. Hauptsache der Mountpunkt ist existent, der Befehl ist also nicht falsch! :rolleyes:

dauni
28.03.03, 22:22
dochdoch - er kann zwar mounten wohin er will, aber nicht woher er will ;)

RTC
28.03.03, 22:29
Das hat doch auch keiner behauptet, oder? :confused:

dauni
28.03.03, 22:36
rechner1:/verzeichnis1/verzeichnis2 /mnt

Wenn er verzeichnis1 freigibt, kann er verzeichnis2 nicht nach mnt mounten und somit hätte thomas eben schon recht ;)

RTC
28.03.03, 22:39
Jetzt hat's klick gemacht *g*... :D

Nuno
28.03.03, 22:45
nun man könnte aber auch interpretieren das verzeichnis2 welches in verzeichnis1 liegt freigegeben wurde und dieses in /mnt eingehängt werden soll ... :D

aber da uns die exports nicht vorliegt ist es natürlich spekulation ...

falls also verzeichnis1 und verzeichnis2 und dieses (v2) nicht in verzeichnis1 liegt freigegeben werden sollen brauchts natürlich 2 freigaben in exports und 2 mountpoints auf dem client :ugly:

schuelsche
28.03.03, 22:47
"Er" ist übrigens ne "sie" ;-)

Also, hab das mal eben nachgeschaut:
rcportmap status -> running (auf dem NFS-Server)

In der Exports-Datei steht:
/home/user1/Documents (rw)
... Documents ist der Ordner bzw. das Verzeichnis, das ich freigeben möchte.
... das ist das, was von Webmin so eingetragen wurde.

Firewall ist keine aktiv.

Bin immernoch am Rätseln... Wo muss ich denn den Rechner zwei freigeben?

Grüsse
schuelsche

schuelsche
28.03.03, 23:05
Habe ich vergessen zu erwähnen, weiss aber nciht, ob das eine Rolle spielt:

Ich habe hier einen Netzwerkrouter, der an meine beiden Rechner die IP-Adressen über DHCP verteilt, wobei ich jedoch die momentane, die Rechner2 gerade hat, explizit freigegeben hatte...

Grüsse
schuelsche

Nuno
28.03.03, 23:11
/home/user1/Documents (rw)

damit es rw ist darf dazwischen kein Leerzeichen sein also -> /home/user1/Documents(rw)

ist zumindest bei Redhat so ...

ein iptables -L bringt also weder auf deinem NFS Server noch auf deinem Client nichts ?

die Fehlermeldung des unerlaubten Zugriffs kommt auf dem Server ?

steht etwas in deinen /etc/hosts.allow /etc/hosts.deny drin ???

Nuno
28.03.03, 23:13
wo hast du die freigegeben ?
wenn du das bei nfs gemacht hättest würde das auch in der exports stehen ... hast du die komplette exports gepostet oder was weggelassen ?

dauni
28.03.03, 23:19
portmap muß auch auf dem client laufen
aufm server "exportfs" eintippen um zu sehen, was wie freigegeben ist

Nuno
28.03.03, 23:27
showmount -e ist da evtl etwas übersichtlicher :p

hier nochmal ne Anleitung ... ist zwar für Redhat sollte sich aber auf Suse umsetzen lassen ;-)

http://www.europe.redhat.com/documentation/rhl7.3/rhl-cg-de-7.3/ch-nfs.php3

schuelsche
30.03.03, 17:27
Hallo,

also, rcportmap status auf beiden Rechnern ergibt "running".
iptables -L auf beiden Rechnern ergibt:

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


Der Zugriff von Rechner1 auf Rechner2 funktioniert mittlerweile, warum auch
immer.
Auf Rechner2 habe ich ein Verzeichnis freigegeben (/home/user2/Documents), das
ich auf Rechner1 in das Verzeichnis /home/user1/rechner2 folgendermassen mounte:
mount -t nfs IP:/home/user2/Documents /home/user1/rechner2
Allerdings geht das nur lesend und als root.

Auf Rechner2 (der als Server für Rechner1 fungiert) habe ich über YAST in
NFS-Server folgendes eingetragen:
NFS Server starten
Verzeichnis: /home/user2/Documents
Rechner: *
Optionen: sync,rw

Vorher stand da "ro". Wie ist denn die richtige Einstellung für schreibenden
Zugriff, den ich unter Optionen eintragen kann? Und wie kann ich überprüfen auf
der Konsole, ob der NFS-Server läuft (ähnlich wie rcportmap) und ihn dann
gegebenenfalls zum Neustart zu bewegen?
In der exports-Datei (/etc/exports) steht:
/home/user2/Documents/ *(sync,rw)

Sonst nix - ich habe nix weggelassen.


Der Zugriff von Rechner2 auf Rechner1 funktioniert allerdings nicht :-(
Auch auf Rechner1 läuft ein NFS-Server mit denselben Einstellungen wie auf
Rechner2.
Auch hier ist das Verzeichnis /home/user1/Documents freigegeben, Rechner * und
Optionen sync,rw.
Wenn ich nun versuche mit demselben Befehl wie vorhin das Verzeichnis auf
Rechner2 zu mounten (als root) bekomme ich Fehlermeldung:
mount: RPC: Programm nicht registriert.

Ich kann mit dieser Fehlermeldung überhaupt nichts anfangen. Wo kann ich RPC
registrieren?? Und was ist das überhaupt?


Ausserdem funktioniert der Zugriff über den Konqueror von beiden Rechnern aus
nicht:

Eingabe im Konqueror:
smb://192.168.0.1
Anzeige des freigegebenen Verzeichnisses
Anklicken -> Fehlermeldung:
"Interner Fehler. Bitte senden Sie einen ausführlichen Problembericht an
http://bugs.kde.org
Unknown Error Condition"

Als User kann ich den smbmount Befehl überhaupt nicht ausführen. Gibts denn
keine Möglichkeit, dem User ein Mount-Recht zu geben??
smbmount als user auf der shell:
smbmnt must be installed suid root for direct user mounts (500,500)
mount -t smbfs //192.168.100.33/...
mount: nur root kann dies tun

Gibts vielleicht irgendwo ein deutsches Howto zu NFS unter SuSE Linux? Die
RedHat-Befehle weichen ja doch ziemlich ab...

Grüsse
schuelsche

Nuno
30.03.03, 18:37
Auf Rechner2 habe ich ein Verzeichnis freigegeben (/home/user2/Documents), das
ich auf Rechner1 in das Verzeichnis /home/user1/rechner2 folgendermassen mounte:
mount -t nfs IP:/home/user2/Documents /home/user1/rechner2
Allerdings geht das nur lesend und als root.


Ist normal. root auf dem Client wird auf dem Server als nobody
behandelt.
Sprich root bekommt explizit keine Rechte auf dem anderem System da er ja sonst dort zu viele Rechte hätte ...
Wenn Du das nicht willst, schau Dir in man 5 mount die
Optionen no-root-squash und insecure für NFS an.


mount -t smbfs //192.168.100.33/...

du versucht sowohl in der shell als auch im Konquerer einen smbmount obwohl du nfs Server verwendest ?
smb wird in Verbindung mit Samba verwendet ... das hat mit nfs nichts zu tun ...

schuelsche
30.03.03, 19:59
Ich hab mir jetzt auf beiden Rechnern auch die etc/host.allow angesehen, weiss aber nicht genau, was ich da auskommentieren soll, damit alle Zugriff haben. Zudem sieht die hosts.allow auf beiden Rechnern gleich aus, weshalb ich mich wundere, denn in eine Richtung funktioniert der Zugriff ja...

# /etc/hosts.allow
# See `man tcpdŽ and `man 5 hosts_accessŽ for a detailed description
# of /etc/hosts.allow and /etc/hosts.deny.
#
# short overview about daemons and servers that are built with
# tcp_wrappers support:
#
# package name | daemon path | token
# ----------------------------------------------------------------------------
# ssh, openssh | /usr/sbin/sshd | sshd, sshd-fwd-x11, sshd-fwd-<port>
# quota | /usr/sbin/rpc.rquotad | rquotad
# tftpd | /usr/sbin/in.tftpd | in.tftpd
# portmap | /sbin/portmap | portmap
# The portmapper does not verify against hostnames
# to prevent hangs. It only checks non-local addresses.
#
# (kernel nfs server)
# nfs-utils | /usr/sbin/rpc.mountd | mountd
# nfs-utils | /sbin/rpc.statd | statd
#
# (unfsd, userspace nfs server)
# nfs-server | /usr/sbin/rpc.mountd | rpc.mountd
# nfs-server | /usr/sbin/rpc.ugidd | rpc.ugidd
#
# (printing services)
# lprng | /usr/sbin/lpd | lpd
# cups | /usr/sbin/cupsd | cupsd
# The cupsd server daemon reports to the cups
# error logs, not to the syslog(3) facility.
#
# All of the other network servers such as samba, apache or X, have their own
# access control scheme that should be used instead.
#
# In addition to the services above, the services that are started on request
# by inetd or xinetd use tcpd to "wrap" the network connection. tcpd uses
# the last component of the server pathname as a token to match a service in
# /etc/hosts.{allow,deny}. See the file /etc/inetd.conf for the token names.
# The following examples work when uncommented:
#
#
# Example 1: Fire up a mail to the admin if a connection to the printer daemon
# has been made from host foo.bar.com, but simply deny all others:
# lpd : foo.bar.com : spawn /bin/echo "%h printer access" | \
# mail -s "tcp_wrappers on %H" root
#
#
# Example 2: grant access from local net, reject with message from elsewhere.
# in.telnetd : ALL EXCEPT LOCAL : ALLOW
# in.telnetd : ALL : \
# twist /bin/echo -e "\n\raccess from %h declined.\n\rGo away.";sleep 2
#
#
# Example 3: run a different instance of rsyncd if the connection comes
# from network 172.20.0.0/24, but regular for others:
# rsyncd : 172.20.0.0/255.255.255.0 : twist /usr/local/sbin/my_rsyncd-script
# rsyncd : ALL : ALLOW
#


Grüsse
schuelsche

schuelsche
31.03.03, 14:11
Original geschrieben von Nuno
Ist normal. root auf dem Client wird auf dem Server als nobody
behandelt.
Sprich root bekommt explizit keine Rechte auf dem anderem System da er ja sonst dort zu viele Rechte hätte ...
Wenn Du das nicht willst, schau Dir in man 5 mount die
Optionen no-root-squash und insecure für NFS an.

Jep, werde ich mal machen.
Allerdings habe ich das Problem, dass ich als Normaluser "mount" nicht ausführen darf. Weder "mount -t smbfs" noch "smbmount". Denn der Zugriff sollte ja auch nachher als normaler User funktionieren und nicht als root.

Grüsse
schuelsche