mount nfs: Mapping der User-IDs

  • Ich habe hier eine NFS-Freigabe auf dem Mac gemounted, und das gibt Probleme mit den Benutzer- und Gruppen-IDs.

    Z. B. auf dem Mac, bei Dateien, die vorher per SMB in das Freigabeverzeichnis kopiert wurden:

    Code
    ll 
    total 40
    drwxrwxrwx   4  root   wheel               4096 22 Jul 14:44 @Recycle
    drwxrwxrwx   3  1003   _lpoperator   4096  8  Sep 11:02 test
    drwxrwxrwx   2  1003   _lpoperator   4096 15 Sep 08:52 tmp
    drwxrwxrwx  33 1003   _lpoperator   4096 15 Sep 10:14 workspace

    Es gibt auch Probleme z. B. mit chmod oder chown (Operation not permitted), als root, d. h. mit sudo, geht es dann aber.


    Wenn ich umgekehrt in der NFS-Freigabe neue Dateien anlege, stimmt die User-Id bei Login im NAS nicht mehr

    Code
    ll sql 
    total 118M
    drwxr-xr-x 2    509                20              4.0K 2020-09-16 08:34 ./
    drwxrwxrwx 9  admin  administrators  4.0K 2020-09-16 08:33 ../
    -rw-r--r-- 1    509                20               118M 2020-09-16 08:34 sz-kpl.sql


    Ursache ist, dass mein Benutzer auf dem Mac und auf dem NAS unterschiedliche IDs hat (einmal 1003, einmal 509).


    Was ich nicht als Lösung möchte:

    - User-ID auf dem Mac ändern. Bis ich da alles wieder sauber gezogen habe ... da ich der Schaden sicher größer als der Nutzen

    - User-ID auf dem Qnap NAS ändern (oder Anzeige nur ID ignorieren). Geht, solange nur von einem Mac gemountet, aber da die Freigabe von einem zweiten Mac ebenfalls gemountet werden wird, und dort der Benutzer wieder eine andere ID hat, ist dies keine Lösung.


    Es muss also ein Mapping der IDs erfolgen.


    Was kann da gemacht werden?

    - Mapping der IDs in qts: Geht das denn? habe ich da Einstellungen übersehen? Wenn ja, wie geht das?

    - Mapping der IDs auf dem Mac: Wo könnte das gemacht werden?

    - Kerberos installieren. Ist das in qts möglich, denn da müsste der Kerberos-Server laufen? Würde das überhaupt mein Problem beheben?



    P. S.: Die naheliegende Lösung, die Freigabe einfach über SMB zu mounten, ist keine Lösung, da SMB scheinbar das Dateilocking nicht komplett nachbildet, und dann läuft des Subversion-Plugin in Eclipse nicht mehr. Mit nfs geht das hingegen.

  • Viele nfs-Fans scheint es hier nicht zu geben ....


    Etwas weiter bin ich gekommen:

    Mit nfs Version 4 und idmapd ist so ein Mapping prinzipiell möglich.

    Auf dem Mac muss nfs mit der expliziten Versionsangabe vers=4 in den Mount-Optionen gemounted werden.

    Mit dscl muss auf dem Mac die Domain auf denselben Namen gesetzt werden, der auch im NAS in der Datei /etc/idmapd.conf benutzt wird.


    Lesender Zugriff geht dann. Mit ls werden schön brav die gemappten Usernamen angezeigt.


    Leider hängt sich dann der Prozess auf dem Mac beim Schreiben auf. Eine Datei wird zwar angelegt, aber der Funktionsaufruf auf dem Mac (?) nicht beendet. Schreibender Zugriff ist damit nicht möglich.


    Das scheint ein Kompatibilitätsproblem zwischen Mac und Qnap bei nfs Version 4 zu sein, unabhängig vom beschriebenen Mapping der Usernamen.


    Hat schon irgendwer nfs Version 4 auf dem Mac zum Laufen bekommen?