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

[teilweise gelöst] Mounten als NFS-Client

padersuse

Hacker
Hallo,
ich hab folgendes Problem:

ich betreibe einen Opensuse 12.1 Server 64bit, und habe dort einen NFS4-Server (ohne NIS-Server) eingerichtet. Der Benutzer hans hat dort die UID 1000 und seine primäre Gruppe GUID 100 (users). Die /etc/exports Datei beinhaltet :
/home/hans 192.168.1.0/24(fsid=0,crossmnt,rw,nohide,sync,no_subtree_check). Die Firewall ist geöffnet.

auf einem Ubuntu Desktop Rechner (12.04) haben wir den user hans (UID=1000), der der primären Gruppe hans (GUID=1000) zugeordnet ist. Dieser User ist aber auch Mitglied der Gruppe users (GUID=100). In der/etc/fstab-Datei steht unter anderem :
192.168.1.61:/ /media/homehans/ -nfs noauto,user 0 0

der User hans kann in der shell das Verzeichnis des Servers /home/hans nach /media/homehans mounten und sich in dem Verzeichnis bewegen. Mit dem Dateimanager Dolphin kann er zwar in das Verzeichnis /media/homehans wechseln, es werden ihm aber keine Unterverzeichnisse angezeigt. In der Konfiguration des NFS-Servers ist als domain "localdomain" eingetragen. Meines Erachtens hat der User hans das Verzeichnis /media/homehans als user gemountet, hat aber im Dateimanager Dolphin keine Leserechte. Was mache ich falsch ?

Gruß Padersuse
 

panamajo

Guru
padersuse schrieb:
In der/etc/fstab-Datei steht unter anderem :
Code:
192.168.1.61:/    /media/homehans/ -nfs    noauto,user 0 0
In der 1. Spalte muss das zu importierende Verzeichnis stehen, bei dir das gesamte root statt /home/hans
In der 2. Spalte steht der Mountpunkt, eigentlich ohne / am Ende (aber das dürfte kaum die Fehlerquelle sein).
In der dritten schließlich der FS Typ. Wie kommt das - vor nfs, hat dort nichts verloren.
 
OP
P

padersuse

Hacker
Hallo Panamajo,

ich muss mich entschuldigen, die /etc/fstab -Datei des Ubuntu-Clients sieht so aus :

192.168.1.61:/ /media/homehans nfs noauto,user 0 0

wie gesagt, in der shell kann ich durch den Befehl
mount /media/homehans
das freigegebene Verzeichnis des Servers mounten, kann sogar das Schreibrecht ausüben, indem ich ein Verzeichnis und eine Textdatei darin anlege. Inzwischen habe ich auf dem Client-Rechner die Zugehörigkeit von hans zur Primärgruppe auf users gesetzt. Mit Dolphin oder Konqueror kann ich auf das gemountete Verzeichnis aber trotzdem nicht zugreifen.
Gruß Padersuse
 
OP
P

padersuse

Hacker
Das Mounten des Verzeichnisses des Servers /home/hans durch den Client nach /media/homehans auf den Client klappt ja auch in der Shell, aber mit dolphin kann ich nicht darauf zugreifen.

Gruß Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
Das Mounten des Verzeichnisses des Servers /home/hans durch den Client nach /media/homehans auf den Client klappt ja auch in der Shell, aber mit dolphin kann ich nicht darauf zugreifen.

Doch kannst du. Dateisystem->/media/homehans.

Wenn das nicht funktioniert unmounte /media/homehans mal und danach gehst du wie folgt vor:
Code:
mount -t nfs -o rw,rsize=8192,wsize=8192 192.168.x.x:/home/hans /media/homehans

Wenn dein Benutzer auf dem Client die selbe uid wie der Hans auf dem Server hat, solltest du ohne Probleme Schreib- und Leserechte haben.
 
OP
P

padersuse

Hacker
Hallo spoensche,

wenn ich Deinen Befehl mit sudo absetze, ist das Verzeichnis gemountet, und ich kann mit der shell dort auch ein Verzeichnis anlegen, wechsele ich aber in das neu angelegte Verzeichnis und gebe ls -la ein, "hängt" aber bei mir die shell.

Gruß
Padersuse
 

spoensche

Moderator
Teammitglied
Unmounte das Verzeichnis auf dem Client und ändere mal in deiner /etc/exports den Eintrag in
Code:
/home/hans 192.168.x.0/24(rw,no_root_squash,async)
ab inkl. exportfs.
Danach auf dem Client mounten.

Nutzt du NFSv4 oder NFSv3?
 
OP
P

padersuse

Hacker
Hallo spoensche,

ich habe, wie Du gesagt, die /etc/export-Datei geändert, exportfs ausgeführt, auf dem Client das Verzeichnis des Server gemountet als user und mit sudo :
als user bleibt mir Dolphin hängen
mit sudo schon die Shell nach Eingabe des Befehls ls -la nachdem ich ein Verzeichnis eingegeben habe.
Ich nutze NFS4.

Gruß Padersuse
 
OP
P

padersuse

Hacker
Wenn meine /etc/exports-Datei so aussieht :
Code:
/home/hans 192.168.1.0/24(fsid=0,rw,no_root_squash,sync)
und mein Eintrag in der /etc/fstab des Clients so:
Code:
192.168.1.61:/    /media/homehans   nsf4    noauto,user 0 0
,

dann kann ich in der shell als user hans das Vereichnis /home/hans mounten und mit der shell und Dolphin auf das gemountete Verzeichnis zugreifen.
Wenn jetzt der Benutzer root des Clients auf das gemountete Verzeichnis zugreifen würde, könnte er mit root-Rechten schreiben. Wäre das nicht ein Sicherheitsrisiko ? Außerdem habe ich doch auf dem Client als user hans das Verzeichnis des Servers gemountet, warum darf dann in der /etc/exports- Datei nicht stehen "root_squash" ?

Gruß Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
Wenn jetzt der Benutzer root des Clients auf das gemountete Verzeichnis zugreifen würde, könnte er mit root-Rechten schreiben. Wäre das nicht ein Sicherheitsrisiko ? Außerdem habe ich doch auf dem Client als user hans das Verzeichnis des Servers gemountet, warum darf dann in der /etc/exports- Datei nicht stehen "root_squash" ?

Root ist root und der darf das eben. ;) Mit den Optionen no_root_squash und root_squash wird das Mapping von der UID 0 (root) gesteuert. Per default wird root_squash verwendet und bewirkt damit das Mapping von root zum User nobody. Somit hat der eigentliche root User nur die Rechte von Nobody (rechtechn.fast nix erlaubt) wenn er auf die gemountete Freigabe zugreift.
 
OP
P

padersuse

Hacker
Hallo spoensche,

ich verstehe nicht, wieso der Eintrag no_root_squash dann von Bedeutung ist, wenn ich auf dem Client als user hans das Verzeichnis des Servers /home/hans mounte.
Gruß Padersuse
 

spoensche

Moderator
Teammitglied
Ah jetzt weiss ich was du meinst. Auf deinem Client brauchst du nichts in die /etc/exports eintragen. In der /etc/exports werden die Freigaben angegeben, die der NFS- Server im Netzwerk bereitstellt. Wenn du auf deinem Client ein Verzeichnis in der /etc/exports eingetragen hast, dann kannst du den Eintrag gefahrlos entfernen.
 
OP
P

padersuse

Hacker
hallo spoensche,

auf dem Client habe ich in der Datei /etc/exports nichts eingetragen. Was ich nicht verstehe, ist folgendes :

Der Client kann mit dolphin nur auf das Verzeichnis /home/hans des Servers zugreifen, wenn der user root nicht als user nobody behandelt wird (no_root_squash). Aber als root habe ich das Verzeichnis auf dem Server doch nicht gemountet, sondern als user hans. Der Eintrag in der /etc/fstab -Datei des Client ist :
Code:
192.168.1.61:/  /media/homehans nfs4    noauto,user     0       0

Ich nehme an, dass der user hans mounten kann (mount /media/homehans). Warum kann dolphin erst dann auf das gemountete Verzeichnis zugreifen, wenn root seine Schreibrechte behält ?

Gruß
Padersuse
 

spoensche

Moderator
Teammitglied
padersuse schrieb:
Der Eintrag in der /etc/fstab -Datei des Client ist :
Code:
192.168.1.61:/  /media/homehans nfs4    noauto,user     0       0

Bei dem Serverpfad fehlt etwas. 192.168.1.61:/ entspricht /. Du musst also den vollständigen Pfad zum freigegebenen Verzeichnis mit angeben.

Beispiel:
Code:
192.168.1.61:/home/hans /media/homehans nfs4 .....
 
OP
P

padersuse

Hacker
Hallo spoensche,

die /etc/exports-Datei des Servers sieht jetzt bei mir so aus :
Code:
/home/hans 192.168.1.0/24(fsid=0,rw,no_root_squash,sync)
.

Stimmt es nicht, das durch den Zusatz von fsid=0 nur noch das Root-Verzeichnis des Servers beim Mounten des Clients angegeben werden muss ?
Gibt es eine Antwort auf die Frage :
Warum kann dolphin erst dann auf das gemountete Verzeichnis zugreifen, wenn root seine Schreibrechte behält ?
Gruß Padersuse
 
Oben