VDR-VDR NFS Sharing klappt nicht

  • Hallo,


    also so langsam verzweifele ich hier, ich bekomme es einfach nicht gebacken meinem VDR Client ein NFS des VDR Servers unterzujubeln, das Problem sind die Rechte bzw. User IDs. Folgende Situation:


    VDR 1=Server soll seine /var/lib/video.XXX Verzeichnisse dem VDR 2=Client zur Verfügung stellen, der Client hat bereits ein /var/lib/video.00 Verzeichnis.


    VDR 1:
    Die IDs

    Code
    uid=104(vdr) gid=106(vdr) Gruppen=106(vdr),20(dialout),24(cdrom),44(video)


    /etc/exports


    Code
    /var/lib/video.00       192.168.1.66(rw,async,subtree_check,all_squash,anonuid=104,anongid=106)
    /var/lib/video.01       192.168.1.66(rw,async,subtree_check,all_squash,anonuid=104,anongid=106)
    /var/lib/video.02       192.168.1.66(rw,async,subtree_check,all_squash,anonuid=104,anongid=106)


    VDR 2:
    Die IDs

    Code
    uid=103(vdr) gid=105(vdr) Gruppen=105(vdr),24(cdrom),44(video)


    /etc/fstab


    Code
    #nfs mounts
    192.168.1.5:/var/lib/video.00   /var/lib/video.01       nfs     rw     0     0
    192.168.1.5:/var/lib/video.01   /var/lib/video.02       nfs     rw     0     0
    192.168.1.5:/var/lib/video.02   /var/lib/video.03       nfs     rw     0     0


    Den Verzeichnissen /var/lib/video.[01-03] habe ich die Rechte nobody:nogroup verpasst.



    Wenn ich nun die Videoverzeichnisse des Servers mounte, erhalten die Videoverzeichnisse des Clients immer folgende Rechte:

    Code
    drwxr-xr-x 47 statd       106 4096 30. Mai 10:58 video.01
    drwxr-xr-x 38 statd       106 4096 29. Mai 22:49 video.02
    drwxr-xr-x  4 statd       106 4096 11. Aug 2009  video.03


    Zum Verständnis 'statd' hat die ID 104


    vdr erkennt die zusätzlichen Videoverzeichnisse natürlich nicht, sprich die Dateien des Servers tauchen im Client nicht auf.


    Ich fummele hier jetzt schon den ganzen Morgen rum und egal was ich bei fstab bzw. exports angebe, ich erhalte immer oben aufgeführte Rechte.
    Ich habe natürlich immer per exportfs -ra bei Änderungen an der /etc/exports die geänderten Daten neu eingelesen, auch diverse Reboots um sicher zu gehen brachten kein Ergebnis, die Log Dateien sind auch nicht sehr aussagekräftig, wo ist mein Denkfehler?


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hallo massi


    Ich leide mit Dir. Ich bin nach tagelangen expermentieren und lesen zu dem Ergebnis gekommen, daß es
    nur klappt, wenn die uid und gid auf beiden Rechnern gleich sind. Wenn sie nicht gleich sind, soll der
    Mapping Dämon laufen mit map_daemon, so die Theorie. Da verliesen sie mich dann. Irgendwo hab ich dann gelesen, daß das mit dem Mapping nur bei älteren NFS-Versionen funktioniert. Vielleicht liest das hier jemand mit, der es besser weis und uns sagt wie!?


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • Hallo,


    ja, mit map_daemon habe ich das auch probiert, der aktuelle NFS Server von Debian scheint das aber nicht mehr zu kennen, zumindest gibt es eine "Unkown keyword" Fehlermeldung.
    Kann ja wohl nicht sein, daß das mit NFS nicht machbar ist. :schiel
    Oder soll ich jetzt tatsächlich für 2 Rechner ein NIS einrichten, nö oder?


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

  • Hallo


    Ich hoffe ja, daß noch mehr mitlesen und wir noch eine Lösung finden. NIS ist mir momemtan noch zu weit
    weg (Wissen bzw einarbeiten). Ich hab versucht die uid und gid's per Hand zu ändern, scheinbar ist das ein Faß ohne Boden. Irgendwas geht dann immer nicht, wie jetzt nvram-wakeup!


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • wie gesagt uid und gid müssen passen:
    hab mir mal das da gebookmarkt:
    http://it.toolbox.com/blogs/lo…a-users-uid-and-gid-26368
    cu peje

  • Hallo peje


    Englisch ist nicht unbedingt mein Ding, so wie ich das trotzdem überschaue, usermod läßt sich mit -u nur auf das Homeverzeichnis anwenden! Schade erst mal...


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • Ich habe auch schon mit diesem Thema länger gekämpft und obwohl ich NFS V4 eingesetzt habe wo die User und Gruppen gemappt werden (das sehe ich auch so im Directory Listing), wollte der vdr nie. Es hat wirklich nur funktioniert den UID bzw GID gleich sind. Dass kann man aber relativ einfach hinbekommen:
    - Einfach in der /etc/passwd bzw der /etc/group Datei die UID bzw GID ändern und dann natürlich alle Dateinen des vdr (vorallm die unter /var/lib/vdr) auf den neuen User und Gruppe bringen z.B. chown -R vdr:vdr *. Danach sollte alles funktionieren.

    Server HW: Core i3| 4GB RAM | DVB-S Satix S2 Dual, TT3200, TT 1401 | 34TB SW: Ubuntu 16.04 , yaVDR vdr2.4 reposatory, Emby Server
    Client: HW: Intel NUC7i3BNK| 8GB RAM | DVB: TT 3600 SW yaVDR ansible

  • hallo Eisbaer128


    Ganz so einfach ist es nicht wie es scheint. Ich habe deluser vdr cdrom und deluser vdr video ausgeführt, dann Deine Änderungen, danach mit usermod -aG video vdr und usermod -aG cdrom vdr wieder alten
    Zustand hergestellt. Dann wurde ich wieder ausgelacht (nicht heute). Es wird nach kopieren wieder
    alte gid oder uid (weis jetzt nicht) angezeigt.


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • Hallo,


    Ich würde den User nicht löschen sondern manuell den bestehenden User verändern (/etc/passwd).
    Bei mir sieht die Zeile so aus
    vdr:x:117:124:VDR user,,,:/var/lib/vdr:/bin/bash


    die 117 ist die UID und die 124 ist die Defauft Gruppe (siehe /etc/groups).


    Die Einträge kannst Du einfach mit einem Editor (natürlich als root) editieren.

    Server HW: Core i3| 4GB RAM | DVB-S Satix S2 Dual, TT3200, TT 1401 | 34TB SW: Ubuntu 16.04 , yaVDR vdr2.4 reposatory, Emby Server
    Client: HW: Intel NUC7i3BNK| 8GB RAM | DVB: TT 3600 SW yaVDR ansible

  • Hallo Eisbaer128


    Ich hab mal versucht meine Schritte von vor ca. 3 Wochen nachzuvollziehen, ging leider nicht!
    Ich glaube der MC hat das kopieren mit "kann kein chown auf Verzeichnis ausführen" oder ähnlich,
    abgebrochen. Dann aber trotzdem das Verzeichnis angelegt.
    Das Verzeichnis hatte dann den User VDR und die Gruppe war dann wieder die alte "Zahl".
    Wenn ich mich irre dann andersherum, kratz!
    Ich denke, daß ich schon fast am Ziel war. Mir waren dann die Ideen ausgegangen und ich hab dann für mich beschlossen 2 identische VDR's aufzusetzen, wo die uid und gid gleich sind!


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • Hallo,


    Wie gesagt DU bist schon auf der richtigen Spur, die UIDs der beiden vdr User sollten gleich sein. Noch was, warum hast Du eigentlich in Deinem export:

    Server HW: Core i3| 4GB RAM | DVB-S Satix S2 Dual, TT3200, TT 1401 | 34TB SW: Ubuntu 16.04 , yaVDR vdr2.4 reposatory, Emby Server
    Client: HW: Intel NUC7i3BNK| 8GB RAM | DVB: TT 3600 SW yaVDR ansible

  • So aus der Erinnerung heraus hab ich usermod und groupmod für vdr und gruppe video gemacht und um sicher zu gehen nachher noch
    find / -user -exec chown {} \;
    und find / -group -exec chgrp {} \;
    auf der Konsole angehängt, dauert so ca. 10 Minuten..
    cu peje

  • moin!


    Damit die NFS3-Anbindung des Videoverzeichnisses funktioniert müssen die numerischen USER-IDs und GROUP-IDs übereinstimmen.


    Normalerweise genutzt man dafür einen zentralen Nameservice (NIS, NIS+,LDAP.....) um diese Informationen konsistent zu verwalten. Dieses erfordert einen nenneswerten Aufwand und lohnt sich nur wenn man viele Benutzer hat, die sich auf unterschiedlichen Systemem mit der gleichen Umgebung anmelden sollen.


    Bei Systemaccounts wie vdr hilft auch das warscheinlich nicht weiter, da die Distribution in der Regel darauf beharrt diese selbst als lokale Accounts zu verwalten.


    Es ist deshalb der bessere Weg die IDs auf dem Client an die des Servers anzupassen.


    Wenn man das Client-System neu installiert hat und noch nicht viele Dienste installiert sind ist es möglich, das die numerischen IDs noch frei sind. In diesem Fall kann man die entsprechenden Zeilen aus /etc/passwd, /etc/shadow und /etc/group des Servers kopieren. Danach werden die Diensten installiert und die Zuordnung bleibt wahrscheinlich bestehen.


    In der Regel ist es dafür jedoch zu spät und man muss UserIDs und GroupIDs nachträglich ändern und die Änderungen auf den (lokalen) Dateisystemen nachführen.


    Um dieses zu tun hält man am besten alle betroffen Dienste an oder arbeitet in einem komplett anderen Kontext auf dem Dateisystem (Knoppix). Wer sein System über mehrere Partitionen verteilt muss darauf achten das er bei den Änderungen alle relevanten Dateisysteme bearbeitet.


    Um alle Dateien auf den Dateisystemen mit einer bestimmten uid (107) eine andere uid(105) zu geben kann das folgende Kommando verwendet werden:

    Code
    find / -uid 107 -exec chown 105 '{}' \;

    Das entsprechende Kommando für die Änderung der gid (102) auf eine neue gid(110):

    Code
    find / -gid 102 -exec chgrp 110 '{}' \;

    Dabei sollte jedoch folgendes beachtet werden:

    • Macht ein Backup!
    • Überprüft das Backup!
    • Wenn ihr keine Idee habt wovon ich hier schreibe lasst die Finger davon.
    • Hängt alle Dateisysteme aus die nicht von der Änderung betroffen sein sollen ab! (z.B. das Videoverzeichnis)
    • Haltet alle Prozesse an die durch die Maßnahme verwirrt werden könnten. (z.B. vdr)
    • Bearbeitet Benutzer und Gruppen IDs unabhängig voneinander.
    • Verwendet eine andere Kennung bereits die gewünschte ID muss diese zuerst auf eine andere freie ID umziehen!


    Danach muss man dann noch die entsprechenden Einträge in /etc/passwd (bzw. /etc/group) auf die neuen numerischen IDs anpassen und alles ist gut:)


    edit: nachdem ihr neu gebootet habt. (Ich war offenbar langsam.)


    viel Glück
    Stefan

  • Hallo


    Eisbaer128
    /var/lib/video.00 192.168.6.0/24(rw,async,no_subtree_check,anongid=321,anonuid=315)


    tefans
    Wenns funktioniert, geil.
    Ich melde mich dann hier wieder. Ich denke, nächstes Wochenende.


    Gibt es für die Zahlen ein System uid 107, gid 102 , warum nicht 107 und 107 (wenn frei) bei meinem
    Ubuntusystem ist es ja auch 1000 / 1000 und nicht 1000/1005 ! Nicht das da noch ein Haken lauert?
    Die Reservierung bestimmter Zahlenbereiche ist mir schon klar.


    Ein Ehefrauennerver

    VDR aktuell: MSI C847MS-E33 Mystique SaTiX-S2 V3, 2Gb DDR3, PicoPsu 120, SNT 5000 12V von Reichelt, yavdr0.5

  • Zitat

    Original von Ehefrauennerver
    Gibt es für die Zahlen ein System uid 107, gid 102 , warum nicht 107 und 107 (wenn frei) bei meinem
    Ubuntusystem ist es ja auch 1000 / 1000 und nicht 1000/1005 ! Nicht das da noch ein Haken lauert?


    Die von mir verwendeten numerischen Werte sind nur Beispiele.
    Die Hauptsache ist das nachher die gleiche Eindeutigkeit besteht wie vorher.


    Zitat

    Die Reservierung bestimmter Zahlenbereiche ist mir schon klar.


    Es gilt:

    • 0 ist root
    • <1000 (früher 500) ist ein Systemaccount.
    • darüber sind lebendige Benutzer
    • nobody ist 65k

    das ist schon alles

  • Hallo,


    mal 'ne kurze Rückmeldung, ich habe jetzt die IDs auf dem Client angepasst, war gar nicht so schwierig, allerdings war der Client noch recht jungfräulich.
    Ich habe erstmal mit usermod und groupmod die IDs geändert, vorher mußte ich allerdings noch die ID des statd ändern, weil der die ID des Server vdrs hatte.
    Dann habe ich per find wie hier vorgeschlagen alle IDs ändern lassen. Allerdings wurden die Gruppen IDs der Links z.B. in /var/lib/vdr nicht geändert. also habe ich den vdr samt aller Plugins und Addons deinstalliert und neu installiert (ich habe ein Debian System, da ist das kein Ding). Um sicher zu sein habe ich ebenfalls nfs-common (wegen statd) neu installiert und das war's schon, es funktioniert.
    Danke!


    Allerdings frage ich mich immer noch warum das mit den nobody/nogroup IDs nicht geklappt hat. Man kann doch nicht immer damit rechnen, das die IDs gleich sind.


    Tschööö


    massi

    Blog


    VDR1 (Server): Gigabyte Z87-HD3, Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz, 16GB RAM, NVIDIA GT 640 (Zotac), Digital Devices Cine V7, OrigenAE S21T, yavdr ansible an Röhre mit vga2scart

    VDR2 (Client): AsRock ION 330, yavdr-ansible auf Ubuntu 18.04 an Panasonic Beamer (HDMI)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!