it-swarm.com.de

Bereitstellen von HFS + -Laufwerken und Ignorieren von Berechtigungen

Ich habe Ubuntu und Windows auf meinem MacBook installiert und Ubuntu ist mein primäres Betriebssystem. Alle meine Medien verbleiben jedoch auf meiner OSX-Partition. Ich möchte von Ubuntu aus darauf zugreifen können (zumindest auf den Home-Ordner meines OSX-Benutzers), ohne einen Media Player (oder etwas anderes) als root starten zu müssen. Da ich gelegentlich meinen Computer in OSX starten möchte, möchte ich nichts ändern, was ich häufig zurückändern müsste. Ich möchte jedoch nicht, dass meine UID je nach verwendetem Betriebssystem hin und her geändert werden muss. Ebenso möchte ich die Dateisystemberechtigungen nicht hin und her ändern.

Ich habe auch etwas über eine "noowner" -Option gesehen, aber das scheint nicht das zu tun, was ich will.

Also würde ich gerne in der Lage sein, so etwas zu tun:

Sudo mount -t hfsplus -o noowner /dev/sda2/ /media/Mac

Und dann in der Lage zu sein, auf alle meine Medien zuzugreifen (zumindest auf alle im Home-Ordner meines OSX-Benutzers), ohne sich als Root anzumelden. (Der Klarheit halber: Der obige Befehlszeileneintrag macht nicht das, was ich will, aber ich möchte in der Lage sein, etwas Ähnliches zu tun.).

Oder wäre es besser, meine UID zu ändern? Und wenn ja, wie?

25
weberc2

Ich konnte nicht herausfinden, wie ich die Berechtigungen ignorieren kann, aber ich habe die UID meines Ubuntu-Kontos so geändert, dass sie mit meinem OSX-Konto übereinstimmt:

Sudo useradd -d /home/tempuser -m -s /bin/bash -G admin tempuser
Sudo passwd tempuser

Neues Passwort eingeben. Melden Sie sich ab, melden Sie sich als "other" mit dem Benutzernamen "tempuser" und dem zuvor gewählten Passwort an. Öffnen Sie ein Terminal und geben Sie Folgendes ein:

Sudo usermod --uid 501 yourusername
Sudo chown -R 501:yourusername /home/yourusername

* Ändern Sie "Ihr Benutzername" in Ihren nicht temporären Benutzernamen und 501 in die UID Ihres Mac-Kontos (das erste Mac-Konto beginnt bei 501, nachfolgende Benutzer haben jedoch andere UIDs).

Melden Sie sich von Tempuser ab und wieder in Ihrem normalen Konto (dies ist wichtig; wechseln Sie nicht nur die Benutzer - es passieren schlimme Dinge). Öffnen Sie ein Terminalfenster und geben Sie Folgendes ein:

Sudo userdel -r tempuser

Weitere Informationen finden Sie unter diese Seite .

Vorbehalte

  • Nur ein Linux-Benutzer kann Zugriff erhalten. Mit diesem Setup können nicht mehrere Linux-Benutzer auf mehrere Benutzerverzeichnisse auf dem HFS + -Laufwerk zugreifen. Dies liegt daran, dass Apple Benutzerverzeichnisse (und Medienverzeichnisse wie Musik) auf 700 (rwx------) sperrt.
  • Sobald Sie Ihre UID ändern, beendet der Anmeldemanager die Auflistung dieses Benutzers. Sie müssen die Option UID_MIN in /etc/login.def von 1000 in 500 ändern.
  • Da sich die Benutzer-UID geändert hat, führt der Zugriff auf das Laufwerk zu einer Verwechslung der Berechtigungen. Sie müssen den genauen Speicherort des Benutzerordners notieren, um ihn anzuzeigen. Tab-Vervollständigungen und das Durchsuchen des Dateimanagers werden für Ordner außerhalb des Ausgangsordners des ursprünglichen Apple Benutzers ohne Sudo problematisch.
19
weberc2

bindfs ist die Antwort. Es wird ein bereits eingehängtes Dateisystem verwendet und eine Ansicht davon mit der gewünschten UID bereitgestellt:

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

Die Dokumentation für die Linux-Kernel-Implementierung des HFS + -Dateisystems listet eine uid -Einhängeoption auf, mit der Sie alle Dateien "besitzen" können (und möglicherweise auch einige andere Optionen, die nützlich sein könnten).

5
JanC

Ich weiß, dass dies alt ist, aber es gibt einen anderen Weg, der für mich ganz gut zu funktionieren scheint. Da sich alle Dateien im Besitz eines "Root" -Benutzers befanden, habe ich nur su root vom Terminal und ls -lah /media/Macintosh HD von dort aus ausgegeben. Mit root konnte ich den Fehler "Berechtigung verweigert" umgehen.

2
user236192

Ich konnte auf Dateien von einer alten MacBook-Festplatte zugreifen, indem ich den Dateimanager mit erhöhten Rechten ausführte.

gksudo thunar

Kopieren Sie dann die Dateien nach Bedarf.

1
John

Dies ist die allgemeine Option, die ich benutze, funktioniert einwandfrei

mkdir /media/test
mkdir /media/diskhfs
mount /dev/sdb1 /media/test -o rw
bindfs -o perms=775,mirror=userorid --map=99/userorid:@99/@uderorid /media/test /media/diskhfs
0
rmil