NFS Mount fstab und Probleme mit unterschiedlichen UID und GID

  • Hi,


    ich habe auf meinem Ubuntu Server über NFS mein video Verzeichnis freigegeben.


    Mein Problem ist nun das die UID und GID von vdr auf beiden Systemen unterschiedlich sind. Dachte da nun beide unter VDR laufen kann ich mir das Gebastel von wegen eigenes Unterverzeichnis für Ubuntu Aufnahmen da easyVDR immer unter root lief sparen :(


    Leider sind die ID's auf den Systemen unterschiedlich:


    Ubuntu Karmic mit VDR Team Repo:

    Code
    $ grep vdr /etc/passwd
    vdr:x:114:121:VDR user,,,:/var/lib/vdr:/bin/false


    yaVDR 0.0.1:

    Code
    $ grep vdr /etc/passwd
    vdr:x:106:107:VDR user,,,:/var/lib/vdr:/bin/bash


    Nun habe ich am NFS Server (Ubuntu) mit den Optionen anonuid und anongid herumgespielt, das klappt aber nicht wie ich es mir dachte (oder vermutet hatte).


    Wer weiss hilfe ? Ich möchte einfach nur das auf beiden Systemen das video.00 Verzeichnis vdr:vdr gehört :(


    Gruß
    Joerg


    PS: Kann es sein das mein yaVDR den fstab Eintrag zum nfs mount ignoriert ? Finde keine Fehlermeldung oder ähnliches, aber das Laufwerk wird nicht automatisch gemountet :( Manuell nach dem Start geht es einwandfrei.


    Wenn ich da Googlee befrage stosse ich auf folgenden Bugreport:
    https://bugs.launchpad.net/ubu…urce/mountall/+bug/431248
    Keine Ahnung ob das damit zusammenhängt, habe sonst keinen Client zum testen. Bei easyVDR ging das auch nicht, aber dort wollte man allemal das ich das mit dem Init Script /etc/init.d/RCStartBefore/RCStartpersonal mache (also die normale mount -t Zeile).

    1. Lucid x64, Core2Duo 6600, 4GB, Video auf Raid 1 (NFS Server), 2 * Avermedia DVB-T, Nvidia GT220/1024*768/xineliboutput/VDPAU/VGA)
    2. Lucid x64 ESXI 4.1 - Avermedia DVB-T per PCI Passtrough
    3. Inaktiv: yaVDR DVB-S2 TT-3200 VDPAU/HDMI SPDIF


    Linux User #292118
    VDR User #895

    2 Mal editiert, zuletzt von baetmaen ()

  • Hallo baetmaen,


    ich hab nur kurz zeit, kann di rspäter mehr zu erzählen wie du es lösen kannst.


    Ein emöglichkeit besteht darin eine MySql Datenbank mit Benutzern aufzusetzen, wo sich jeder Linux Rechner im Netz seine Benutzerdaten/rechte usw abholen kann.


    Das funktiniert bei mir, bzw bei unserem VDR/Multimedia server/client System ziemlich gut und wir haben damit keine probleme.


    Ich könnte aber eventuelle schwierigkeiten sehen da du verschiedene Distributionen benutzt.


    Falls du an sowas interesse hast meld dich per pm bei mir.


    Bye Aileenis

  • Hallo,


    das mit dem fstab Problem liegt eher bei Ubuntu selber, habe auch schon damit zu kämpfen gehabt.
    Irgendwie werden die Mounts zu früh abgefragt. Sprich, bevor die Netzwerkverbindungen richtig aufgebaut sind,
    dies lässt sich umgehen, wenn man das Netzwerk auf DHCP umstellt.


    Zumindest habe ich das so verstanden. Mit DHCP geht es auf jedenfall, und der Fehler lässt sich reproduzierbar mit festen IP's wieder herstellen.

    MfG
    Der Brumm-Baer
    --------------------------------------------
    srv-vdr: HW: Dell T20 (Xeon) - SW: Openmediavault Erasmus, Frodo-VDR als Docker Container, EPGD als Docker Container


    med-og: HW: - SW: Libreelec
    med-sz: HW: SilverStone Milo ML03, BeQuiet SFX-300W, Asrock H61M-ITX, Intel G530, Asus G210 Silent, Asrock Smart Remote, 8GB USB-Stick - SW: Libereelec
    med-eg: HW: SilverStone Milo ML03, BeQuiet SFX-300W, Asrock H61M-ITX, Intel G530, Asus G210 Silent, Asrock Smart Remote, 8GB USB-Stick - SW: MLD 5.1

    Einmal editiert, zuletzt von der-brumm-baer ()

  • Ich mache das mit Rechten bei mir so:


    Ich habe für mich festgelegt, dass der User VDR bei mir im Netz wie folgt aussieht:


    user:group
    vdr:vdr


    uid:gid
    200:200


    das Ändere ich nun in /etc/passwd und /etc/group


    und führe dann folgende Befehle aus, wobei die Werte
    hinter gid und uid
    durch die alten vdr id von dir ersetzt werden müssen


    Code
    Gruppe für Dateien ersetzen
    find / -gid 109 -exec chgrp vdr {} \;
    	User für Dateien ersetzen
    find / -uid 104 -exec chown vdr {} \;
    	Gruppe für Links ersetzen
    find / -type l -gid 109 -exec chgrp -h vdr {} \;
    	User für Links ersetzen
    find / -type l -uid 104 -exec chown -h vdr {} \;

    MfG
    Der Brumm-Baer
    --------------------------------------------
    srv-vdr: HW: Dell T20 (Xeon) - SW: Openmediavault Erasmus, Frodo-VDR als Docker Container, EPGD als Docker Container


    med-og: HW: - SW: Libreelec
    med-sz: HW: SilverStone Milo ML03, BeQuiet SFX-300W, Asrock H61M-ITX, Intel G530, Asus G210 Silent, Asrock Smart Remote, 8GB USB-Stick - SW: Libereelec
    med-eg: HW: SilverStone Milo ML03, BeQuiet SFX-300W, Asrock H61M-ITX, Intel G530, Asus G210 Silent, Asrock Smart Remote, 8GB USB-Stick - SW: MLD 5.1

  • Hi,


    1. hier mal mein Lösungsvorschlag, mit dem zumindest das timing-Problem beim booten umgehen lässt. Das mit dem NFS-Mounts beim boot ist immer ein bisschen gefährlich, weil wenn der Server hängt kommt Dein System auch nicht hoch. Ich verwende stattdessen autofs (das ist ein Zusatzdienst, der Verzeichnisse mountet, wenn sie gebraucht werden). Also einfach autofs nachinstallieren und z.B. in /etc/auto.misc folgende Zeile einfügen:


    video -fstype=nfs server:/srv/video


    In /etc/auto.master die Zeile


    /misc /etc/auto.misc --timeout=60


    entkommentieren. /var/lib/video.00 lässt Du wie es ist, damit der vdr auch ohne NFS-Server sauber starten kann.


    Du kannst jetzt einen link von /var/lib/video.01 auf /misc/video anlegen. Mein Verständnis war immer, dass der VDR das dann auch automatisch einliest. Klappt aber bei mir z.B. nicht. Wenn Du aber das neue Verzeichnis als zusätzliches Videoverzeichnis in /etc/default/vdr angibst, startet der vdr immer und hat dann auch ohne zusätzliches Einlesen alle Aufnahmen gleich nach dem Starten.


    2. Das mit den unterschiedlichen UserID ist schon nervig, wenn alle VDRs im Netz als user vdr laufen. Da die UserID aber nicht vorgegeben ist, sondern bei der Installation (halbwegs frei) bestimmt wird, unterscheiden die sich regelmässig. Das suche ich auch noch nach einer sinnvollen Lösung.


    Gruß
    Arno


  • Ja, so mache ich dass auch normalerweise. Einziges Problem dabei ist, dass dann ein paar Dateien ihr setuid-flag verlieren und man sich dann einen Wolf sucht.


    Gruß
    Arno

  • Hi,


    Brummbärs Zeilen habe ich mal in ein script gepackt und ein bisschen erweitert. Hat so bei mir bei einer yavdr und ein ctvdr Installation ohne Probleme funktioniert. Aufruf des scripts zeigt erstmal nur die Optionen und erstellt schon mal eine temporäre passwd/group. Erst der Parameter -f fürht dann die Änderungen durch.


    Also noch nicht unbedingt im Produktivsystem testen. Wäre schön, wenn troztdem feedback käme.


    Arno

  • Zitat

    Original von der-brumm-baer
    und führe dann folgende Befehle aus, wobei die Werte
    hinter gid und uid
    durch die alten vdr id von dir ersetzt werden müssen


    Hallo,


    entschuldigt die verspätete Antwort, bin eben erst wieder zum Testen gekommen.


    Hatte das mal ausprobiert (leider das Script zu spät gesehen, also die 4 find Befehle manuell) und bisher sieht es prima aus :) Auf beiden VDR's identisch uid und gid ;)


    Das generelle Mount Problem habe ich jedoch keineswegs in den Griff bekommen. mein yaVDR lief über DHCP, ging leider trotzdem nicht :( Habe es probehalber mal auf static gestellt und ihm eine IP fest vergeben, bringt jedoch nichts.


    Aktuell nach dem Start per ssh:

    Code
    sudo stop vdr
    sudo mount -t nfs x.x.x.x:/path /var/lib/video.99
    sudo start vdr


    Aber damit kann ich leben. Hatte die ganze Woche eine Karmic Alternate amd64 Edition mit eurem Repo laufen und hatte keinerlei Probleme (bis auf 2 * freeze aber das kann auch der Ram oder sonstwas sein, erstmal egal, neues Board + Graka steht sowieso an).


    Also vielen Dank einstweilen.


    Danke
    Jörg

    1. Lucid x64, Core2Duo 6600, 4GB, Video auf Raid 1 (NFS Server), 2 * Avermedia DVB-T, Nvidia GT220/1024*768/xineliboutput/VDPAU/VGA)
    2. Lucid x64 ESXI 4.1 - Avermedia DVB-T per PCI Passtrough
    3. Inaktiv: yaVDR DVB-S2 TT-3200 VDPAU/HDMI SPDIF


    Linux User #292118
    VDR User #895

  • Zitat

    Original von glotze44
    1. hier mal mein Lösungsvorschlag, mit dem zumindest das timing-Problem beim booten umgehen lässt. Das mit dem NFS-Mounts beim boot ist immer ein bisschen gefährlich, weil wenn der Server hängt kommt Dein System auch nicht hoch. Ich verwende stattdessen autofs (das ist ein Zusatzdienst, der Verzeichnisse mountet, wenn sie gebraucht werden). Also einfach autofs nachinstallieren und z.B. in /etc/auto.misc folgende Zeile einfügen:


    Hi ;)


    Den Effekt das der VDR nicht startet wenn der NFS Server nicht verfügbar ist kann man doch theoretisch einfach mit dem Schalter 'soft' beim nfs mount erreichen oder ?
    Hatte mal eine Frage zum NFS Tuning gestellt und da war auch unter anderem das hier dabei was ich selbst nie getestet habe. Vielleicht ist das ja ne alternative um den VDR Start sicherzustellen.

    Zitat

    Hi,


    kannst beim NFS mount ja mal die Option 'soft' (man nfs) probieren. Damit haengt die Kiste nicht, wenn der NFS-Server nicht laeuft.


    Gruss,
    - bernd


    Eine Aufnahme auf meine zierliche 16GB SSD muss nicht wirklich sein :) Bringt mir also leider nichts, zumindest nicht in diesem Fall. Trotzdem danke :)


    Joerg

    1. Lucid x64, Core2Duo 6600, 4GB, Video auf Raid 1 (NFS Server), 2 * Avermedia DVB-T, Nvidia GT220/1024*768/xineliboutput/VDPAU/VGA)
    2. Lucid x64 ESXI 4.1 - Avermedia DVB-T per PCI Passtrough
    3. Inaktiv: yaVDR DVB-S2 TT-3200 VDPAU/HDMI SPDIF


    Linux User #292118
    VDR User #895

    Einmal editiert, zuletzt von baetmaen ()

Jetzt mitmachen!

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