Невозможно скопировать с внешнего hfs+

Невозможно скопировать с внешнего hfs+

Я потратил много дней, пытаясь разобраться с этим, но так и не смог. Кажется, я прочитал все статьи по этому поводу и перепробовал все, что можно было попробовать, но все еще не могу скопировать ни одного файла с моего внешнего диска hfs+, отформатированного под Mac. Извините, если есть еще статья, которую я пропустил. Я отключил журналирование и перепробовал все команды hfsprogs, которые смог найти, но все равно всякий раз, когда я нажимаю на папку на внешнем диске и пытаюсь скопировать ее в свой домашний каталог, я получаю это: «Папка xxx не может быть обработана, поскольку у вас нет разрешения на чтение ее содержимого». Затем я нашел статью об инокулировании этого путем копирования файлов через Терминал. При попытке запустить команду sudo cp -r в Терминале с моим путем к внешнему диску я всегда получаю «такой файл или каталог отсутствуют».. У кого-нибудь есть для меня другие предложения? Заранее спасибо!

решение1

Я столкнулся с похожей проблемой, когда у меня сломалась старая материнская плата imac ppc g5. У меня было много данных на этом жестком диске, к которым я потерял доступ, поэтому я вытащил жесткий диск и подключил его к внешнему корпусу hdd. Когда я попытался скопировать файлы с него на свой Ubuntu box, я получил ошибку прав доступа. Я пробовал много разных вещей, чтобы исправить это, но безуспешно. Увы... Следующее должно вытащить вас из леса.

откройте терминал и введите:

sudo nautilus

Используяграфический интерфейсОткроется окно. Перейдите в каталог, где находятся ваши файлы, и скопируйте нужные вам файлы.используя то же самое окно графического интерфейса NautilusПерейдите в каталог, в который их нужно скопировать, и вставьте в этот каталог. Промойте и повторите.

решение2

Ответ — bindfs. Он возьмет уже смонтированную файловую систему и предоставит ее вид с любым uid, который вам нужен:

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

решение3

Я знаю, что прошло несколько месяцев с тех пор, как вы это спросили, но я только что успешно это сделал и опубликую здесь для других. Кроме тогосначала отключите ведение журнала вообще, это заглавные буквы, уравнивающие UID и GUI; в MacOs ваш пользователь - 501/20, а в Ubuntu - 1001/99 или выше. Будьте осторожны, потому что вы должны позволить Ubuntu показывать идентификатор пользователя < 1000 - объяснено ниже - или при следующей загрузке ваш пользователь не появится!

Полное руководство можно найти по этим двум ссылкам:

Руководство по работе с несколькими платформами, включая MacOs, Linux и Windows

По умолчанию первый пользователь в OS X имеет UID 501, но вы можете дважды проверить это, зайдя в Системные настройки в OS X, щелкнув правой кнопкой мыши по своему пользователю и выбрав Дополнительные параметры. Если ваш идентификатор пользователя отличается от 501, замените 501 на свой другой UID в командах терминала ниже.

Загрузите Linux (в этом примере мы используем Ubuntu) и запустите Терминал. Сначала мы добавим временного пользователя, поскольку мы не хотим редактировать пользователя, под которым мы сейчас вошли. Итак, выполните следующие команды в Терминале, нажимая Enter после каждой:

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

sudo passwd tempuser

Введите новый пароль для временного пользователя, когда будет предложено. Перезагрузитесь и войдите как tempuser. Затем откройте Терминал и введите следующие команды, снова нажимая Enter после каждой (и заменяя yourusername на имя пользователя Linux):

sudo usermod --uid 501 yourusername

sudo chown -R 501:yourusername /home/yourusername

Это изменит ваш UID пользователя Linux на 501 и исправит разрешения вашей домашней папки, так что вы по-прежнему будете ее владельцем. Теперь вы сможете читать и писать в домашней папке как вашего Mac, так и пользователя Linux, независимо от того, в какую ОС вы вошли.

Вы также можете захотеть исправить свой экран входа, так как по умолчанию Ubuntu не будет перечислять пользователей с UID менее 1000. Чтобы сделать это, просто откройте Терминал и выполните gksudo gedit /etc/login.defs и найдите UID_MIN в текстовом файле. Измените это значение с 1000 на 501, и после перезагрузки ваш пользователь будет указан на экране входа.

Перейти к посту пользователяФроббер

Для доступа к разделам OSX со стороны Linux UID и GID должны совпадать с UID и GID OSX. Во время установки OSX первому пользователю и администратору OSX назначаются UID 501 и GID 20. При установке системы Linux идентификаторы пользователей начинаются с 1000. Мы можем изменить наши идентификаторы пользователей, чтобы они соответствовали идентификаторам для MacOS со стороны Linux. Чтобы проверить наши UID и GID на стороне Mac, войдите в систему, откройте терминал и введите – id. В ответе будет отображена требуемая информация. UID и GID не могут быть изменены для пользователя, который вошел в систему. В Ubuntu нам нужно создать пользователя «Temp» с правами администратора и выполнить процедуру, войдя в систему как «Temp».Пользователь 'Temp' будет использовать sudo -i для изменения на пользователя root. Следующая процедура написана для системы с возможностями пользователя 'Root', а nano является редактором. Примечание: Все, что мы делаем, это меняем номера идентификаторов и ничего больше.

1. На экране входа в систему нажмите клавиши control+alt+F1. Обратите внимание, что мы вошли в консольный режим.

2. Войдите в систему как пользователь root или Temp.

Отредактируйте файл /etc/login.defs. Введите:

nano /etc/login.defs

Найдите значение UID_MIN. Измените его с 1000 на 501. Найдите значение GID_MIN и измените его на 501. Сохраните файл и выйдите. Клавиша – control+x. Клавиша – y. Нажмите – return. Отредактируйте файл /etc/group. Введите –

nano /etc/group

Найдите строку, которая отображает dialout:20username); измените значение 20 на 99. Найдите строку, которая отображает (username):1000: и измените ее на (username):20: Сохраните файл и выйдите. Клавиша – ctrl-x для выхода из nano. Клавиша – y. Нажмите – return.

Отредактируйте файл /etc/passwd. Введите:

nano /etc/passwd

Найдите строку, которая отображает (имя пользователя):1000:1000настоящее имя),,,,/home/(имя пользователя):/bin/bash и измените ее на (имя пользователя):501:20настоящее имя),,,,/home/(имя пользователя):/bin/bash Сохраните файл и выйдите. Клавиша – control+x для выхода из nano. Клавиша – y. Нажмите – return. Измените права доступа к файлу домашней папки. Введите:

cd /home
chown -R 501:20 (username)

Выйти из консольного режима. Клавиша – control+alt+F7 Перезагрузка.

Если это не сработало и вы получили сообщение о том, что один из файлов не может быть изменен, вероятно, вы все еще вошли как (имя пользователя) где-то в системе. Попробуйте перезагрузиться и войти как temp на экране входа.

Связанный контент