Umgehen der Standardberechtigungen beim Mounten von HFS+-Volumes unter Linux

Umgehen der Standardberechtigungen beim Mounten von HFS+-Volumes unter Linux

Ich habe ein Dual-Boot-MacBook Pro mit Snow Leopard und Kubuntu 11.10 und möchtelesen(Schreiben ist mir egal) mein privates Mac-Home-Verzeichnis, wenn ich Kubuntu ausführe.

Ich kann es problemlos mounten, aber mein Benutzer auf Kubuntu kann die Dateien auf dem HFS+, das dem Mac-Benutzer gehört, aufgrund der anderen UID (502 auf Mac, 1000 auf Kubuntu) nicht sehen.

Ein Blick in die Kernel-Dokumentation zu HFS+Ich habe das gelesen:

When mounting an HFSPlus filesystem, the following options are accepted:
[CUT]
    uid=n, gid=n
        Specifies the user/group that owns all files on the filesystem
        that have uninitialized permissions structures.
        Default:  user/group id of the mounting process.

Also habe ich versucht, diese Optionen zu verwenden:

$ sudo mount -t hfsplus -o uid=1000,gid=1000 /dev/sda2 /mnt/Mac

Aber sie scheinen nichts zu tun: Ich sehe immer noch dieselben Berechtigungen, wenn ich mich mit ls -l umsehe. Vielleicht übersehe ich etwas, irgendeine Ahnung?

Ich weiß, dass ich meine Benutzer-ID unter Ubuntu ändern kann, damit sie mit Mac OS X übereinstimmt, aber ich würde dies nach Möglichkeit vermeiden.

Antwort1

bindfsist die Antwort. Es wird ein bereits gemountetes Dateisystem übernehmen und eine Ansicht davon mit der gewünschten UID bereitstellen:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo

Bearbeiten:

Auch das Lesen derDokumentMir ist aufgefallen, dass die mapOption (1.10 und höher) möglicherweise besser passt:

sudo bindfs --map=502/1000 /media/diskFoo ~/myUIDdiskFoo

Antwort2

Am Ende habe ich einen Linux-Benutzer mit der gleichen UID wie mein Mac OS X-Benutzer erstellt, aber er kann nicht jedes Verzeichnis in meinem Home-Verzeichnis auf dem Mac HFS+-Volume durchsuchen, da viele Dateien dem Mac-Benutzer "unbekannt", UID 99, gehörten (siehehttp://googlemac.blogspot.com/2007/03/user-99-unknown.html).

Offenbar haben sie das so gemacht, damit Sie Ihr Volume mounten und lesen können, wenn Sie es an einen anderen Computer anschließen. Wenn ein normaler Benutzer die Dateien mit der UID 99 ansieht, sieht er sie so, als wäre er ihr Besitzer. Ziemlich seltsam. Nur Root sieht sie so, wie sie sind.

Also habe ich in Mac OS X einen Neustart durchgeführt, mich mit einem anderen Benutzer mit Administratorrechten angemeldet und mit chown -R 502:20 /Users/gerlos/* den Besitzer aller Dateien in meinem Home-Account geändert. Jetzt kann ich alles problemlos lesen.

Bemerkungen:

  • Das standardmäßige Kubuntu-GUI-Tool zum Erstellen neuer Benutzer unter Kubuntu 11.10 kann keine Benutzer mit einer UID unter 1000 erstellen. Verwenden Sie stattdessen adduser auf dem Terminal.
  • Sie können Ihre Benutzer-UID mit dem Befehl „id“ auf dem Terminal herausfinden.
  • Unter Mac OS X müssen Sie Root sein, um den wahren Besitzer der Dateien zu sehen. Erwarten Sie daher unterschiedliche Ergebnisse, wenn Sie „ls -n /Users/gerlos“ und „sudo ls -n /Users/gerlos“ eingeben.

Antwort3

Eigentlich wollte ich etwas Ähnliches tun, als ich auf diese Frage stieß. Wenn ich Ihren ersten Beitrag richtig verstehe, fragt die angeforderte Mount-Option, welche Benutzer-UID anstelle der Standard-UID Ihres Linux-Systems (also UID 1000) verwendet werden soll. Stattdessen sollten Sie also 502 verwenden, den erwarteten Besitzer des Dateisystems, das Sie mounten möchten.

Ich habe dies in meiner eigenen Situation getestet und es hat großartig funktioniert, mit UID 99 für ein Dateisystem, das zwischen meinen Systemen geteilt werden kann. Damit muss ich nicht mehr ständig UIDs ändern. Also danke fürs Teilen. Das ist für Sie vielleicht nicht mehr so ​​hilfreich, aber vielleicht hilft es jemand anderem. Prost

verwandte Informationen