8

У меня есть MacBook Pro с двойной загрузкой со Snow Leopard и Kubuntu 11.10, и я хочу прочитать (не заботясь о записи) мой домашний домашний каталог Mac, когда я работаю с Kubuntu.

Я могу смонтировать его без проблем, но мой пользователь на Kubuntu не может видеть файлы на HFS+, принадлежащие пользователю Mac, из-за разного идентификатора пользователя (502 на Mac, 1000 на Kubuntu).

Глядя на документы ядра о HFS+, я прочитал, что:

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.

Поэтому я попытался использовать эти параметры:

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

Но они, похоже, ничего не делают: я по-прежнему вижу те же разрешения, когда смотрю вокруг, используя ls -l. Может я что-то упускаю, какая-то подсказка?

Я знаю, что могу изменить свой идентификатор пользователя в Ubuntu, чтобы он соответствовал Mac OS X, но я бы предпочел избегать его, если это возможно.

3 ответа3

9

bindfs является ответом. Он возьмет уже смонтированную файловую систему и предоставит для просмотра все, что вам нужно:

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

Редактировать:

Также, читая документацию, я понял, что вариант map (1.10 и более поздние) может подойти лучше:

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

На самом деле, я собираюсь сделать нечто подобное, когда натолкнулся на этот вопрос. Насколько я понимаю из вашего первого поста, запрошенная опция монтирования спрашивает, какой пользовательский uid должен использоваться вместо используемой по умолчанию системы linux (т.е. uid 1000). Поэтому вместо этого вы должны использовать 502, который является ожидаемым владельцем файловой системы, которую вы пытаетесь смонтировать.

Я проверил это в моей собственной ситуации, и она отлично работала, с uid 99 для файловой системы, которую можно использовать в моих системах. При этом мне не нужно будет обмениваться изменениями. Так что спасибо, что поделились. Это может не иметь большого значения для вас больше, но может помочь кому-то еще. ура

1

В конце концов, я создал пользователя linux с тем же UID, что и мой пользователь Mac OS X, но он не может просматривать все каталоги в моем доме на томе Mac hfs+, потому что многие файлы принадлежат пользователю Mac "unknown", UID 99 (см. Http://googlemac.blogspot.com/2007/03/user-99-unknown.html).

Кажется, что они сделали это, чтобы вы могли подключить и прочитать ваш том, когда вы подключаете его к другому компьютеру. Когда обычный пользователь просматривает эти файлы, принадлежащие UID 99, он видит их как своего владельца. Довольно странно. Только root видит их такими, какие они есть.

Поэтому я перезагрузился в Mac Os X, вошел в систему с другим пользователем с правами администратора и использовал команду chown -R 502:20 /Users /gerlos /*, чтобы изменить владельца каждого файла в моем доме. Теперь я могу читать все без проблем.

Примечания:

  • инструмент kubuntu gui по умолчанию для создания новых пользователей в Kubuntu 11.10 не может создавать пользователей с UID менее 1000. Вместо этого используйте adduser на терминале.
  • Вы можете узнать свой UID пользователя, используя команду "id" на терминале.
  • на Mac OS X вы должны быть пользователем root, чтобы увидеть реального владельца файлов. Поэтому ожидайте других результатов, если вы наберете «ls -n /Users /gerlos» и «sudo ls -n /Users /gerlos».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .