Jak zamontować dysk HFS + i zignorować uprawnienia

25

Zainstalowałem Ubuntu i Windows na moim MacBooku, a Ubuntu to mój podstawowy system operacyjny; jednak wszystkie moje multimedia pozostają na mojej partycji OSX. Chcę mieć do niego dostęp (przynajmniej folder domowy mojego użytkownika OSX) z Ubuntu bez konieczności uruchamiania odtwarzacza multimediów (lub czegokolwiek innego) jako root. Ponadto, ponieważ czasami chcę uruchomić mój komputer w OSX, nie chcę zmieniać niczego, co musiałbym często zmieniać z powrotem (dużo czytam o zmianie UID - nie do końca rozumiem, co to oznacza, ale nie chciałbym zmieniać mojego identyfikatora użytkownika w przód iw tył w zależności od używanego systemu operacyjnego. Podobnie nie chcę zmieniać uprawnień systemu plików tam i z powrotem).

Widziałem też coś o opcji „noowner”, ale wydaje się, że to nie robi tego, co chcę.

Myślę, że chciałbym móc zrobić coś takiego:

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

I wtedy będę mógł uzyskać dostęp do wszystkich moich multimediów (przynajmniej wszystkiego w folderze domowym mojego użytkownika OSX) bez wpadania jako root. (dla jasności: powyższy wpis wiersza poleceń nie robi tego, co chcę, ale chcę móc zrobić coś podobnego).

A może lepiej byłoby zmienić mój UID? A jeśli tak, to w jaki sposób?

weberc2
źródło
Czy możesz spojrzeć na moją odpowiedź. Uważam, że odpowiedziałem na twoje pytanie bardziej poprawnie niż zaznaczona odpowiedź.
Catskul,
@Catskul Nie, nie mogę. To pytanie ma ponad 2 lata - w tym czasie sprzedałem swojego MacBooka, a powielanie tego problemu w celu potwierdzenia Twojej odpowiedzi jest niezwykle trudne.
weberc2

Odpowiedzi:

28

bindfsjest odpowiedzią. Zajmie to już zamontowany system plików i wyświetli go z dowolnym identyfikatorem użytkownika:

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
Catskul
źródło
Obciążenie procesora i pamięci jest jednak znaczne. Jeśli jest to problem, poleciłbym rozwiązanie @ weberc2. W przeciwnym razie świetna odpowiedź.
frhd
bindfs był dla mnie niestabilny. zamiast tego użyłem odpowiedzi askubuntu.com/questions/315078/...
krumpelstiltskin
Dobra odpowiedź (pozytywnie oceniany), ale wymaga zainstalowania bindfs. Dlaczego to nie jest takie dobre? Cóż, to mój niezwykły przypadek: przyjaciel daje mi starego MacBooka (nie wiem, czy Pro) do tworzenia kopii zapasowych danych z nie uruchamiającego się MacOS. Próbuję najnowszej wersji Ubuntu i bez powodzenia (awaria sterownika w stylu secesyjnym, nomodeset nie pomaga). Potem zaczynam wracać z wersjami Ubuntu, aż znalazłem taki, który uruchamia się, 9.10 (tak), serwery repo nie są już online. bindfs nie może zostać zainstalowany. Przyjęta odpowiedź rozwiązuje ten problem.
Hatoru Hansou
19

Nie byłem w stanie wymyślić, jak zignorować uprawnienia, ale ostatecznie zmieniłem identyfikator UID na moim koncie Ubuntu, aby pasował do mojego konta OSX:

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

Wprowadź nowe hasło. Wyloguj się, zaloguj jako „inny” przy użyciu nazwy użytkownika „tempuser” i hasła, które wybrałeś wcześniej. Otwórz terminal i wpisz:

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

* zmień „twoja nazwa użytkownika” na swoją nie tymczasową nazwę użytkownika, a 501 na UID konta Mac (pierwsze konto Mac zaczyna się od 501, ale kolejni użytkownicy będą mieli różne UID).

Wyloguj się z tempuser i zaloguj się ponownie na swoje normalne konto (jest to ważne; nie zmieniaj tylko użytkowników - zdarzają się złe rzeczy). Otwórz okno terminala i wpisz:

sudo userdel -r tempuser

Aby uzyskać więcej informacji, odwiedź tę stronę .

Ostrzeżenia

  • Dostęp może uzyskać tylko jeden użytkownik systemu Linux. Ta konfiguracja nie pozwoli wielu użytkownikom systemu Linux uzyskać dostęp do wielu katalogów użytkowników na dysku HFS +. Wynika to z faktu, że Apple blokuje katalogi użytkowników (i katalogi multimedialne takie jak Muzyka) do 700 ( rwx------).
  • Po zmianie identyfikatora użytkownika menedżer logowania przestanie wyświetlać listę tego użytkownika. Musisz zmienić UID_MINopcję /etc/login.defz 1000na 500.
  • Wreszcie, ponieważ identyfikator użytkownika zmienił się, dostęp do dysku staje się myleniem uprawnień. Aby go wyświetlić, musisz zanotować dokładną lokalizację folderu domowego użytkownika. Uzupełnianie kart i przeglądanie menedżera plików stanie się problematyczne w przypadku folderów spoza oryginalnego folderu domowego użytkownika Apple bez sudo.
weberc2
źródło
podejście usermod zadziałało dla mnie. po prostu pamiętaj o usunięciu / media / USERNAME, jeśli chcesz używać napędów USB. askubuntu.com/questions/583375/…
krumpelstiltskin
W przypadku zastrzeżenia 1 700 jest rzeczywiście domyślnym katalogiem użytkownika w systemie OS X, ale nie ma problemu ze zmianą go, jeśli nie pasuje, na przykład do 755.
fkraiem
Podczas używania sudo do wydawania poleceń i uruchamiania nautilus za pomocą sudo umożliwia dostęp do dowolnego katalogu w MacOS HD, metoda uid jest najlepsza, gdy potrzebujesz czegoś więcej niż tylko dostępu do plików, na przykład przenieś je do folderu współdzielonego na innym komputerze (używając na przykład samba). Instancja nautilus z podwyższonym poziomem uprawnień nie może eksplorować sieci, normalna instancja nautilusa może, ale nie pozwala na kopiowanie i wklejanie z MacOS HD. Podaj tempuserowi UID 501 rozwiązał dla mnie problem, pozwalając mi na tworzenie kopii zapasowych danych z nie uruchamiającego się systemu MacOS do folderu współdzielonego.
Hatoru Hansou
W przypadku 16.10, oprócz UID_MIN, należy również dodać GID_MIN=500do/etc/login.def
losowanie
5

Dokumentacji dla realizacji jądra Linux z systemu plików HFS + wymienia uidopcję, która pozwala na „własnych” wszystkich plików (a może jakieś inne opcje, które mogą być przydatne także) zamontować.

JanC
źródło
Próbowałem to zrobić, ale nie wiem, jakiego UID powinienem używać. Przeczytałem, że jest to coś w rodzaju 501 dla OSX, ale konto nie jest oryginalnym użytkownikiem OSX. Jak mogę znaleźć te informacje?
weberc2
@ weberc2: ls -l /media/YourHFSdisk/pokaże UID i GID bieżących plików / folderów. Dyski HFS +, na które natrafiam, wydają się być w większości własnością uid 99 i gid 99. Próbowałem jednak różnych kombinacji ustawień uid / gid / umask w poleceniu mount, ale nic nie zmieniło.
mivk
To mi nie zadziałało. Z dokumentacji: „uid / gid \ n Określa użytkownika / grupę, która jest właścicielem wszystkich plików w systemie plików, które mają niezainicjowane struktury uprawnień.” Niestety wszystkie pliki w moim systemie plików są nadal własnością 501 (tzn. Mają zainicjowane struktury uprawnień (?))
Colin
2

Wiem, że to stare, ale jest na to inna metoda, która wydaje mi się w porządku. Ponieważ wszystkie pliki były własnością użytkownika „root”, wszystko, co zrobiłem, to problem su rootz terminala i ls -lah /media/Macintosh HDstamtąd. Korzystając z roota, mogłem ominąć błąd odmowy uprawnień.

użytkownik236192
źródło
proste i przebiegłe
SYK
1

Udało mi się uzyskać dostęp do plików ze starego dysku twardego Macbooka, uruchamiając menedżera plików z podwyższonymi uprawnieniami.

gksudo thunar

Następnie skopiuj pliki w razie potrzeby.

Jan
źródło
0

Jest to ogólna opcja, której używam działa idealnie

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
rmil
źródło