NFS Freigabe IP Adressenkreis - mounten unter Linux

Status
Für weitere Antworten geschlossen.

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Jetzt habe ich mal unter nfs v3 die uid auf einem Client auf 1026 eingestellt (user erst gelöscht und dann mit der neuen uid erneut eingerichtet). Die uid 1026 ist die des users auf dem NAS gemäß cat /etc/passwd.
Auch das geht nicht. D.h. die Berechtigungen funktionieren nicht. Erneut wird eine auf dem Client bearbeitete Datei nach dem Speichern als 'nobody' angezeigt.
So ist das NAS für mich unbrauchbar.

Kann mir jemand helfen?
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Ht keiner eine Idee?
Es wird doch wihl noch weitere Linuxer geben, die ein AS vom Synology betreiben....
 

leone1522

Benutzer
Mitglied seit
04. Nov 2012
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo navi-cc,
bei mir laufen seit kurzem mehrere Rechner unter Linux-Mint 16 (Cinnamon) zusammen mit einer Diskstation DS112 (DSM 4.3). Ich habe sogar die home-Verzeichnisse auf die Diskstation verschoben und alle Mounts erfolgen über NFS4.
So geht's:
Wenn du mit NFS4 arbeitest, erfogt nach meiner Info der Rechte-Abgleich zwischen NFS-Client (deinem Rechner) und Server (der Diskstation) über den User- und GruppenNAMEN, und nicht, wie bei NFS3 über UID und GID.
also:
- auf Client und Server die erforderlichen User und Gruppen anlegen (UID und GID sind egal)
- an der Diskstation in der Systemsteuerung unter Win/Mac/NFS im Reiter NFS-Dienst die NFS4-Unterstützung aktivieren und einen NFS-Domainnamen vergeben
- auf dem Rechner die Datei /etc/idmapd.conf editieren und dort Domain = NFS-Domainname eintragen.
- außerdem die datei /etc/default/nfs-common editieren und dort die Zeilen
NEED_GSSD=yes
NEED_IDMAPD=yes
einfügen, das sorgt dafür, daß ab dem nächsten Reboot der idmapd gerstartet wird.

Rich (BBCode):
sudo service idmapd start
ausführen
Rich (BBCode):
showmount --exports IP_der_Diskstation
zeigt die die freigegebenen Exporte an

um jetzt z.B. den Export /volume1/video auf dem PC unter /media/video einzubinden, schickst du diese Befehle ab:
Rich (BBCode):
sudo mkdir /media/video
sudo mount -t nfs4 IP_der_Diskstation:/volume1/video /media/video
ls -l /media/video
sollte dann die Files mit dem richtigen User anzeigen.

Ich hatte vorher bereits mit NFS3 gearbeitet und deshalb die UIDs und GIDs identisch gemacht. Das ist natürlich schon eine tiefgreifende Änderung und nicht ohne Risiko! Wie schon gesagt: soweit ich weiss, ist das für NFS4 nicht mehr nötig. Dazu bin ich so vorgegangen:
Alle erforderlichen User auf der Diskstation anlegen, UID und GID notieren.
Den PC von einer Life-CD aus booten und ein Terminal-Fenster öffen.

Das Root-Verzeichnis der Festplatte mounten
Rich (BBCode):
mkdir /mnt/Mint
mount /dev/sda1	/mnt/Mint

Ubuntu UID und GID defaults ändern:
/mnt/Mint/etc/login.defs editieren:
Rich (BBCode):
UID_MIN 1000
GID_MIN 100

User UID und GID ändern, dazu
/mnt/Mint/etc/passwd editieren:
Rich (BBCode):
Alt: leone1522:x:1000:1000:MeinName,,,:/home/leone1522:/bin/bash
Neu: leone1522:x:1026:100:MeinName,,,:/home/leone1522:/bin/bash
Rich (BBCode):
umount /mnt/Mint

Files dem neuen User zuordnen, dazu das Home-Verzeichnis der Festplatte mounten (liegt bei mir auf sda6)

Rich (BBCode):
mount /dev/sda6 /mnt/Mint
cd /mnt/Mint
find . -mount -user 1000 -exec chown -h 1026:100 {} \;
umount /mnt/Mint

sync
reboot
Wenn du alles richtig gemacht hast, bootet der Rechner normal hoch und dein User hat jetzt die neue UID und GID, und alles läuft genauso, wie vorher.

Und hier noch ein Hinweis für Leser, die das gleiche nicht mit Ubuntu, sondern z.B. mit Gentoo machen wollen:
Schaut mal auf
http://smorgasbord.gavagai.nl/2012/04/nfsv4-idmapd-%E2%80%94-ha-theyre-not-your-files/
Ich mache meine Backups mit der SystemRescueCD, und da traf genau das zu, was dort gesagt wird.
Gruß
leone1522
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Das Ganze unter openSuse 13.1...

Hallo leone1522,

danke für die ausführliche Beschreibung!
Wie mache ich das unter YAST? dort gibt es die Datei /etc/default/nfs-common nicht bzw. nicht an dem Ort....

Gruß,
Navi-CC
 

leone1522

Benutzer
Mitglied seit
04. Nov 2012
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
nvs4 unter Suse

Hallo navi-cc,
sorry, Suse hab ich seit vielen Jahren nicht mehr auf meinen Systemen. Google hat mir allerdings gezeigt, daß unter Suse, genau wie unter Ubuntu, für den Cleint das paket nfs-common gebraucht wird, aber das hast du bestimmt schon lange installiert...

Leider muß ich meinen letzten Beitrag in einem Punkt korrigieren: ich hab noch mal ein paar Versuche gemacht: Meine Aussage "erfolgt bei NFS4 der Rechte-Abgleich zwischen NFS-Client (deinem Rechner) und Server (der Diskstation) über den User- und GruppenNAMEN, und nicht, wie bei NFS3 über UID und GID." ist leider nicht ganz richtig: du musst doch UID und GID gleich setzen, sonst zeigt dir der Client beim ls -l nicht die Klartext-Usernames, sondern die numerische UID an.

Und dann hätte ich noch einen Hinweis für die Fehlersuche / Optimierung: Der Befehl
Rich (BBCode):
leone1522@MeinRechner:~$ nfsstat -m
/home from 192.168.39.37:/volume1/homes
 Flags:	rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.39.57,local_lock=none,addr=192.168.39.37
liefert dir, welche Optionen für den Mount aktuell verwendet werden. Da siehst du dann auch, ob sich Client und Server wirklich auf NFS Version 4 geeinigt haben, und was sonst noch so alles ausgehandelt wurde.

Sorry, was Suse angeht, kann ich dir leider nicht weiterhelfen.
Gruß
leone1522
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Hallo navi-cc,
sorry, Suse hab ich seit vielen Jahren nicht mehr auf meinen Systemen. Google hat mir allerdings gezeigt, daß unter Suse, genau wie unter Ubuntu, für den Cleint das paket nfs-common gebraucht wird, aber das hast du bestimmt schon lange installiert...
Ja. Bei Suse heißt das yast-nfs-common und ist standardmäßig installiert.

Leider muß ich meinen letzten Beitrag in einem Punkt korrigieren: ich hab noch mal ein paar Versuche gemacht: Meine Aussage "erfolgt bei NFS4 der Rechte-Abgleich zwischen NFS-Client (deinem Rechner) und Server (der Diskstation) über den User- und GruppenNAMEN, und nicht, wie bei NFS3 über UID und GID." ist leider nicht ganz richtig: du musst doch UID und GID gleich setzen, sonst zeigt dir der Client beim ls -l nicht die Klartext-Usernames, sondern die numerische UID an.

Und dann hätte ich noch einen Hinweis für die Fehlersuche / Optimierung: Der Befehl
Rich (BBCode):
leone1522@MeinRechner:~$ nfsstat -m
/home from 192.168.39.37:/volume1/homes
 Flags:	rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.39.57,local_lock=none,addr=192.168.39.37
liefert dir, welche Optionen für den Mount aktuell verwendet werden. Da siehst du dann auch, ob sich Client und Server wirklich auf NFS Version 4 geeinigt haben, und was sonst noch so alles ausgehandelt wurde.

Sorry, was Suse angeht, kann ich dir leider nicht weiterhelfen.
Gruß
leone1522
Bei mir sieht das ganz genauso aus. Mit "vers=4.0". Dennoch komme ich nicht weiter. Ich habe einfach keine Schreib- bzw. Löschrechte für meine Dateien auf dem NAS.
Der Synology Support antwortet immerhin, hat aber meine Fragen noch nicht verstanden bzw. verstehen wollen....

Gruß,
Navi-CC
 

leone1522

Benutzer
Mitglied seit
04. Nov 2012
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo navi-cc,
um mal ein paar Fehlerquellen auszuschließen:
am 14.12. hast du geschrieben, daß du auf dem Client den User auf UID 1026 umgestellt hast. Hast du auch die GID auf 100 umgestellt?
dazu /etc/passwd editieren:
Rich (BBCode):
Alt: leone1522:x:1000:1000:MeinName,,,:/home/leone1522:/bin/bash
Neu: leone1522:x:1026:100:MeinName,,,:/home/leone1522:/bin/bash
anschließend Reboot

Nächste Frage: klappt das mit der NFS-Domain jetzt, d.h. haben Client und Server die gleiche NFS-Domain?
Lass doch mal den idmapd mit erhöhtem Debug-Level laufen, dazu
Rich (BBCode):
leone1522@MeinRechner:~$ sudo service idmapd stop
[sudo] password for leone1522: 
idmapd stop/waiting

leone1522@MeinRechner:~$ sudo rpc.idmapd -f -vvv

rpc.idmapd: libnfsidmap: using domain: fritz.box    <=== das dürfte die auf dem Client gesetzte Domain sein
rpc.idmapd: libnfsidmap: Realms list: 'FRITZ.BOX'   <=== und das ist wohl die Domain auf dem Server 
rpc.idmapd: libnfsidmap: loaded plugin /lib/x86_64-linux-gnu/libnfsidmap/nsswitch.so for method nsswitch

rpc.idmapd: Expiration time is 600 seconds.
rpc.idmapd: Opened /proc/net/rpc/nfs4.nametoid/channel
rpc.idmapd: Opened /proc/net/rpc/nfs4.idtoname/channel
rpc.idmapd: New client: 3
rpc.idmapd: Opened /run/rpc_pipefs/nfs/clnt3/idmap
rpc.idmapd: New client: 4
rpc.idmapd: New client: 7
^C

leone1522@MeinRechner:~$ sudo service idmapd start
idmapd start/running, process 8055

Sorry, mein Code ist natürlich wieder für Ubuntu, evtl. mußt du statt "service xxx stop" bzw. start das Start-Script direkt aufrufen, etwa mit "/etc/init.d/idmapd stop" bzw. start.

Gruß
leone1522
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Hallo leone1522,
danke sehr für Deine tätige Hilfe!
Hallo navi-cc,
um mal ein paar Fehlerquellen auszuschließen:
am 14.12. hast du geschrieben, daß du auf dem Client den User auf UID 1026 umgestellt hast. Hast du auch die GID auf 100 umgestellt?
dazu /etc/passwd editieren:
Rich (BBCode):
Alt: leone1522:x:1000:1000:MeinName,,,:/home/leone1522:/bin/bash
Neu: leone1522:x:1026:100:MeinName,,,:/home/leone1522:/bin/bash
anschließend Reboot
Ich habe einen neuen User mit UID=1026 und GID=100 eingerichtet. Nach dem Mounten sehe ich am Client den richtigen Benutzer_Namen_. Das war es dann aber schon. Die Schreib- bzw. Löschrechte habe ich dennoch nicht. Die Diskstation hat nfs v4 aktiviert, die Clients aber nicht. Einer meiner Clients ist mein Dienst-Notebook. Er muss unter nfs v3 laufen, da ich sonst im Büro nicht an meinen Server dort herankomme.

Nächste Frage: klappt das mit der NFS-Domain jetzt, d.h. haben Client und Server die gleiche NFS-Domain?
Lass doch mal den idmapd mit erhöhtem Debug-Level laufen, dazu
Rich (BBCode):
leone1522@MeinRechner:~$ sudo service idmapd stop
[sudo] password for leone1522: 
idmapd stop/waiting

leone1522@MeinRechner:~$ sudo rpc.idmapd -f -vvv

rpc.idmapd: libnfsidmap: using domain: fritz.box    <=== das dürfte die auf dem Client gesetzte Domain sein
rpc.idmapd: libnfsidmap: Realms list: 'FRITZ.BOX'   <=== und das ist wohl die Domain auf dem Server 
rpc.idmapd: libnfsidmap: loaded plugin /lib/x86_64-linux-gnu/libnfsidmap/nsswitch.so for method nsswitch

rpc.idmapd: Expiration time is 600 seconds.
rpc.idmapd: Opened /proc/net/rpc/nfs4.nametoid/channel
rpc.idmapd: Opened /proc/net/rpc/nfs4.idtoname/channel
rpc.idmapd: New client: 3
rpc.idmapd: Opened /run/rpc_pipefs/nfs/clnt3/idmap
rpc.idmapd: New client: 4
rpc.idmapd: New client: 7
^C

leone1522@MeinRechner:~$ sudo service idmapd start
idmapd start/running, process 8055

Sorry, mein Code ist natürlich wieder für Ubuntu, evtl. mußt du statt "service xxx stop" bzw. start das Start-Script direkt aufrufen, etwa mit "/etc/init.d/idmapd stop" bzw. start.

Gruß
leone1522
Hm. Der deamon idmapd taucht in der Dienstverwaltung unter Yast nicht auf. Wie kann man die aktiven, bzw. existierenden deamons abfragen?

Was ich nicht verstehe: Alles hat bis ca. Sept 13 einwandfrei funktioniert. Die Dateien hatten auf allen Clients die UID, GID des Erstellers und ließen sich auch von diesem bearbeiten bzw. löschen. Erst seit einem Update der Diskstation-Firmware hat es diese Probleme.
Heute kann ich leider nicht mehr nachvollziehen, ob Synology seinerzeit die UIDs ab 1000 für die user eingestellt hatte.

Gruß, navi-cc
 
Zuletzt bearbeitet:

leone1522

Benutzer
Mitglied seit
04. Nov 2012
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo navi-cc,
Ich habe einen neuen User mit UID=1026 und GID=100 eingerichtet. Nach dem Mounten sehe ich am Client den richtigen Benutzer_Namen_.
Das ist ein gutes Zeichen!
Das war es dann aber schon. Die Schreib- bzw. Löschrechte habe ich dennoch nicht.
Blöde Frage: du hast auf der Diskstation für diesen User aber schon die Lese- und Schreib-Rechte freigegeben?
Um Dateien zu löschen, braucht dieser User natürlich Schreib-Rechte auf dem übergeordneten Directory.
Die Diskstation hat nfs v4 aktiviert, die Clients aber nicht. Einer meiner Clients ist mein Dienst-Notebook. Er muss unter nfs v3 laufen, da ich sonst im Büro nicht an meinen Server dort herankomme.
Hier gibt's wohl ein Verständnis-Problem: Wenn deine Clients nicht steinalte Linux-Distributionen drauf haben, unterstützen sie sowohl nfs v3 wie auch nfs v4. Beim Mounten kannst du angeben (-t nfs bzw. -t nfs4), welche Version benutzt werden soll, und Client und Server versuchen sich dann auf den kleinsten gemeinsamen Nenner zu einigen (worauf sie sich geeinigt haben, zeigt dir nfsstat -m an). Anders gesagt: Du kannst durchaus mit deinem Firmen-Schleppi den Firmen-Server über nfs v3 ansprechen und die private Diskstation über nfs v4.
Meine Beschreibung gilt immer für nfs v4.
Der deamon idmapd taucht in der Dienstverwaltung unter Yast nicht auf. Wie kann man die aktiven, bzw. existierenden deamons abfragen?
Jezt wird's dann ein reines Suse-Problem, da kann ich dir nicht viel helfen. Google hat mich allerdings auf folgende Seiten geführt: http://de.opensuse.org/Netzwerkadministration, da wird ein Paket namens "nfsidmap" gelistet, das hast du doch hoffentlich? Und http://www.heise.de/ct/hotline/NFSv4-unter-Opensuse-11-1-326490.html schreibt,
Das Problem lässt sich mit einer Anpassung im Skript /etc/init.d/nfs beheben: Per Vorgabe besitzt dort die Variable nfs den Wert no. Setzt man sie auf yes, startet der NFS-Dienst idmapd und Opensuse 11.1 übersetzt die Benutzerkennungen korrekt.
Der Befehl
Rich (BBCode):
ps -ef|grep idmapd
zeigt dir an, ob der idmapd überhaupt läuft.
Alles weitere ist dann sehr Suse-spezifisch, da kenne ich mich nicht aus.
Was ich nicht verstehe: Alles hat bis ca. Sept 13 einwandfrei funktioniert. Die Dateien hatten auf allen Clients die UID, GID des Erstellers und ließen sich auch von diesem bearbeiten bzw. löschen. Erst seit einem Update der Diskstation-Firmware hat es diese Probleme.
Heute kann ich leider nicht mehr nachvollziehen, ob Synology seinerzeit die UIDs ab 1000 für die user eingestellt hatte.
Synology hat mit dem Upgrade auf 4.3 an den UIDs nichts geändert, sonst würde niemand mehr seine alten Files bearbeiten können. Was sie allerdings gemacht haben ist, daß man jetzt in der grafischen Oberfläche direkt nfs v4 aktivieren kann, das ging früher nur über die Konsole.
Im Web gibt's ein paar User, die ihre Probleme gelöst kriegten, indem Sie die Diskstation auf nfs v3 zurückgeschaltet haben, bzw. auf dem Client im Mount-Befehl explizit Version 3 angefordert haben. Ich halte da allerdings nichts von.
Gruß
leone1522
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Hallo leone1522,
der deamon idmapd läuft (auf allen Clients). Die Freigaben in der Diskstation sind so, dass ein Benutzer auf die Ordner music, photo, usw. zugreifen kann. Ich verwende openSuse 13.1 bzw. 12.3 auf meinen Clients, die sind also keineswegs steinalt.

Vielleicht hat es etwas mit dem nfs v4 Domainnamen zu tun. Diesen muss ich bei nfs v4 auf der Diskstation und bei YAST eingeben. Auf der Diskstation steht default 'localdomain'; beim Client unter YAST ist das Feld leer.
Was sollte ich hier eingeben?

Gruß,
navi-cc
 

leone1522

Benutzer
Mitglied seit
04. Nov 2012
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
hallo navi-cc,
dann würde ich auch bei den Clients 'localdomain' eingeben!
Gruß
leone1522
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
Nach langen Diskussionen mit dem Synology Support gab es letztendlich nur eine brauchbare Lösung: Ich habe auf meinen drei Clients die UIDs auf 1026 und 1027 geändert. Jetzt klappt alles in beiden Richtungen, da nun die UIDs auf der DS und den Clients die UIDs und die Usernamen identisch sind.
Das war eine arg schwere Geburt und der Support kaum nicht gerade mit praxisnahen Vorschlägen.
 

nanoq

Benutzer
Mitglied seit
14. Jun 2013
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
Nach langen Diskussionen mit dem Synology Support gab es letztendlich nur eine brauchbare Lösung: Ich habe auf meinen drei Clients die UIDs auf 1026 und 1027 geändert. Jetzt klappt alles in beiden Richtungen, da nun die UIDs auf der DS und den Clients die UIDs und die Usernamen identisch sind.
Das war eine arg schwere Geburt und der Support kaum nicht gerade mit praxisnahen Vorschlägen.

...das ist auch meine Lösung gewesen: alle UID auf den Linux-Clients auf DS-kompatible UIDs umzufrickeln. Ein paar Schweißperlen, aber läuft jetzt alles prima. Im Übrigen habe ich über all NFS V.4 laufen und trotzdem scheint der DS der Username herzlich egal zu sein. Erst die gleichen UIDs haben den Erfolg gebracht.

Nanoq
 

navi-cc

Benutzer
Mitglied seit
30. Jan 2011
Beiträge
25
Punkte für Reaktionen
3
Punkte
3
...das ist auch meine Lösung gewesen: alle UID auf den Linux-Clients auf DS-kompatible UIDs umzufrickeln. Ein paar Schweißperlen, aber läuft jetzt alles prima. Im Übrigen habe ich über all NFS V.4 laufen und trotzdem scheint der DS der Username herzlich egal zu sein. Erst die gleichen UIDs haben den Erfolg gebracht.

Nanoq
... das mit NFSv4 kann ich bestätigen. Ich frage mich nur, ob Besitzer anderer NAS-Systeme mit Linux-Clients ähnliche Probleme haben.
 

souli

Benutzer
Mitglied seit
26. Nov 2012
Beiträge
83
Punkte für Reaktionen
0
Punkte
6
ändern der UID

Hi, nur mal eine Frage an die, welche die UID tatsächlich nachträglich angepasst haben.
Wie genau habt ihr das gemacht?
Ich hatte mal von hier einen Tipp übernommen jedoch im Nachhinein geflucht wie ein Kutscher.
Teils waren die Rechte obwohl eigentlich angepasst, nicht durchgehend akzeptiert worden, aber am unglücklichsten lief es mit externen Sicherungen oder nicht gleich mit gemounteten Partitionen oder HD' s.

Ich musste immer wieder - und das recht lange - nachträglich anpassen.

Habt ihr da eine Universallösung gefunden?

Ach ja, wie verhält sich die DS, sofern zwei gleiche UID von verschiedenen Rechnern zugreifen?
D.h. gleicher Name, gleiche UID, gleiches PW auf die DS im Zugriff.
 

lucullus_52

Benutzer
Mitglied seit
24. Jan 2010
Beiträge
82
Punkte für Reaktionen
0
Punkte
6
Hallo,

nach Neuinstallation von Linux (opensuse 13.2) möchte ich dieses Thema noch mal wiederbeleben.
Auf meiner DS210j habe ich die NFS-Berechtigungen eingetragen. In YaST wird mir eine NFS-Client-Konfiguration angeboten, wo ich unter "Hostname des NFS-Servers" die IP der DS210 eingegeben habe. Beim Klick auf "Auswahl" kommt aber die Meldung, daß kein NFS-Server in meinem Netzwerk gefunden wurde. .. aber ich sehe im Browserfenster nebenan meine DS210... mit ping erreiche ich ihn auch
Was kann hier noch falsch sein?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat