Як встановити HFS + диск та ігнорувати дозволи


25

Я встановив Ubuntu та Windows на свій MacBook, а Ubuntu - це моя основна ОС; однак усі мої медіа-файли залишаються на моєму розділі OSX. Я хочу мати доступ до нього (принаймні домашню папку мого користувача OSX) з Ubuntu без необхідності запускати медіаплеєр (або що-небудь інше) як root. Крім того, оскільки я час від часу хочу запустити свою машину в OSX, я не хочу нічого змінювати, що мені потрібно буде часто змінювати назад (я багато читав про зміну UID - я точно не розумію, що це тягне за собою, але мені не хотілося б змінювати мій UID назад і назад залежно від того, яку ОС я використовую. Так само я не хочу змінювати дозволи та файли файлової системи вперед і назад).

Крім того, я побачив щось про варіант "noowner", але це, здається, не робить те, що я хочу.

Тому я думаю, я хотів би зробити щось подібне:

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

А потім матимете доступ до всіх моїх носіїв інформації (принаймні до усієї домашньої папки мого користувача OSX), не впадаючи в корінь. (для наочності: вищезазначений запис командного рядка не робить те, що я хочу, але я хочу вміти робити щось подібне).

Або було б краще змінити мій UID? А якщо так, то як?


Ви можете поглянути на мою відповідь. Я вважаю, що я відповів на ваше запитання правильніше, ніж помічена відповідь.
Кацкуль

@Catskul Ні, я не можу. Цьому питанню більше 2 років - тоді я продав свій MacBook, і відтворити цю проблему з метою перевірки вашої відповіді надзвичайно важко.
weberc2

Відповіді:


28

bindfsце відповідь. Він займе вже змонтовану файлову систему та надасть їй перегляд залежно від того, який ви бажаєте:

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

Однак навантаження на процесор і пам’ять досить значна. Якщо це хвилює, я б рекомендував рішення @ weberc2. Інакше чудова відповідь.
frhd

bindfs для мене лускав. Я використав відповідь на цю посаду askubuntu.com/questions/315078/… замість цього
krumpelstiltskin

Хороша відповідь (схвалена), але вона потребує встановлення bindfs. Чому це не так добре? Ну, це мій незвичайний випадок: друг дарує мені старий MacBook (я не знаю, чи Pro), щоб створити резервну копію даних з не завантажуваного MacOS. Я спробую останню версію Ubuntu і не пощастило (аварія драйвера nouveau, nomodeset не допомагає). Потім я починаю повертатися назад з версіями Ubuntu, поки не знайду той, який завантажується, 9.10 (так), сервери репо вже не в мережі. bindfs не можна встановити. Прийнята відповідь вирішує цю проблему.
Хатору Хансу

19

Я не зміг зрозуміти, як ігнорувати дозволи, але я змінив UID на моєму обліковому записі Ubuntu, щоб відповідати моєму обліковому запису OSX:

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

Введіть новий пароль. Вийдіть, увійдіть як "інше" з ім'ям користувача "tempuser" та паролем, який ви вибрали раніше. Відкрийте термінал і введіть:

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

* змінити "yourusername" на своє не тимчасове ім'я користувача та 501 на UID вашого облікового запису Mac (перший обліковий запис Mac починається з 501, але наступні користувачі матимуть різні UID).

Вийдіть із tempuser та поверніться до свого звичайного облікового запису (це важливо; не просто перемикайте користувачів - трапляються погані речі). Відкрийте вікно терміналу та введіть:

sudo userdel -r tempuser

Для отримання більш детальної інформації відвідайте цю сторінку .

Коваджі

  • Лише один користувач Linux може отримати доступ. Ця установка не дозволить декільком користувачам Linux отримати доступ до декількох каталогів користувачів на диску HFS +. Це відбувається тому, що Apple блокує каталоги користувачів (та медіа-каталоги, такі як Music), до 700 ( rwx------).
  • Щойно ви зміните свій UID, менеджер входу перестане реєструвати цього користувача. Ви повинні змінити UID_MINпараметр /etc/login.defз 1000на на 500.
  • Нарешті, через те, що користувальницький UID змінився, доступ до диска стає плутаниною дозволів. Вам потрібно буде зазначити точне розташування домашньої папки вашого користувача, щоб переглянути його. Завершення вкладки та перегляд файлів через диспетчер файлів стануть проблематичними для папок, які не знаходяться в початковій домашній папці користувача Apple sudo.

підхід користувача підходив для мене. просто не забудьте видалити / media / USERNAME, якщо ви хочете використовувати USB-накопичувачі. askubuntu.com/questions/583375/…
krumpelstiltskin

Для вашого застереження 1, 700 дійсно є типовим для каталогів користувачів в OS X, але немає жодної проблеми в його зміні, якщо він вам не підходить, наприклад, до 755.
fkraiem

Хоча використання sudo для видачі команд та запуск nautilus з sudo дозволяє отримати доступ до будь-якого каталогу MacOS HD, метод uid найкращий, коли вам потрібно більше, ніж просто отримати доступ до файлів, наприклад перенести їх у спільну папку на іншій машині (використовуючи Самба, наприклад). Піднятий екземпляр nautilus не може досліджувати мережу, звичайний екземпляр nautilus може, але це не дозволяє копіювати та вставляти з MacOS HD. Надайте tempuser, що uid 501 вирішив для мене проблему, що дозволило мені створити резервну копію даних з не завантажуваного MacOS у загальну папку.
Хатору Хансу

Для 16.10, крім UID_MIN, також необхідно додати GID_MIN=500до/etc/login.def
залучити

5

У документації на реалізацію файлової системи HFS + ядра Linux міститься перелік uidпараметрів монтування, який дозволяє "володіти" всіма файлами (а може бути і деякими іншими параметрами, які також можуть бути корисні).


Я намагався це зробити, але не знаю, яким UID я повинен користуватися. Я читав, що це щось на зразок 501 для OSX, але обліковий запис не є початковим користувачем OSX. Як я можу дізнатися цю інформацію?
weberc2

@ weberc2: ls -l /media/YourHFSdisk/покаже вам uid та gid поточних файлів / папок. Диски HFS +, на які я стикався, здаються, в основному, належать uid 99 та gid 99. Однак я спробував різні комбінації налаштувань uid / gid / umask у команді mount, і, здається, це нічого не змінило.
mivk

Це для мене не вийшло. З документації: "uid / gid \ nВизначає користувача / групу, яка володіє всіма файлами файлової системи, які мають неініціалізовані структури дозволів." На жаль, всі файли моєї файлової системи все ще належать 501 (тобто вони ініціалізували структури дозволів (?))
Колін

2

Я знаю, що це старе, але є ще один спосіб, який, здається, працює для мене просто чудово. Оскільки всі файли належали користувачеві "root", все, що я робив, було видано su rootз терміналу і ls -lah /media/Macintosh HDзвідти. Використовуючи root, я зміг обійти помилку, відхилену в дозволі.


простий і хитрий
SYK

1

Мені вдалося отримати доступ до файлів зі старого жорсткого диска Macbook, запустивши диспетчер файлів із підвищеними привілеями.

gksudo thunar

Потім скопіюйте файли за потребою.


0

Це загальний варіант, який я використовую, працює чудово

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.