Я использую Ubuntu для переноса данных с диска в формате XFS на диск в формате HFS+ через USB. Проблема в том, что что бы я ни делал, эти файлы становятся защищенными от записи, и я не могу изменить их разрешения.
Я знаю, что UID по умолчанию в Ubuntu — 1000, тогда как на Mac — 501, поэтому я изменил свой UID в Ubuntu на 501.как описано в этом руководстве.
Теперь разрешения, похоже, правильные, и когда я делаю ls -n
, мне сообщают, что UID — 501, группа — 20, а разрешения — rwxrwxrwx
, что точно так же, как на моем другом USB-накопителе, который работает отлично.
Но по какой-то причине я все еще не могу редактировать файлы. Мне говорят пройти аутентификацию, и когда я это делаю, ничего не происходит.
Если я копирую файлы на другой том в Finder, они больше не защищены от записи, что заставляет меня думать, что с USB-накопителем, на который я копирую, может быть что-то подозрительное. Мне пришлось отформатировать его в HFS+ (нежурналируемый), чтобы Ubuntu могла записывать на него.
Может ли это что-то значить? Файлы, скопированные на том из Finder на Mac, не блокируются, а файлы, скопированные через Ubuntu, блокируются.
Только что провел еще несколько тестов и обнаружил, что в подпапке одной из скопированных мной папок содержались некоторые изображения, в которые я мог писать без проблем, но видеофайлы на том же уровне, что и исходная папка, были заблокированы... и видеофайлы, и изображения имели 501/20 в качестве владельца/группы. Кроме того, несколько файлов, которые были заблокированы, на самом деле имели значок "заблокировано", и я смог снять галочку в свойствах файла, но ничего не произошло, и когда я снова проверил свойства, он все еще был там. Но с другой стороны - другие видеофайлы, которые были заблокированы, изначально не имели значка... что-то здесь действительно не так??!
Кстати, я регулярно тестирую все на другом Mac, работающем под управлением Snow Leopard Server, и проблемы те же самые.
Последнее обновление:
Пробовал сделать rsync через ssh, как предложено ниже, пробовал переименовывать пользователя в Ubuntu так, чтобы и имя пользователя, и «длинное имя», и UID соответствовали OSX — никакого прогресса.
Провел последние 14 часов, пытаясь решить эту проблему — устал, сейчас пойду спать. Последнее средство — скопировать все с диска Ubuntu в том виде, в котором оно есть сейчас, а затем скопировать его на другой USB-накопитель с Mac (проблемы с копированием туда-сюда между рабочим столом, похоже, решены). Единственный недостаток — мне нужно купить еще один жесткий диск, чтобы скопировать 1,5 ТБ с коробки Ubuntu, и потратить еще 2 дня на копирование файлов :-/
Окончательное решение:
Поскольку ни одно из предложений, предложенных здесь, не помогло решить проблему, я в итоге купил еще один жесткий диск на 2 ТБ, скопировал файлы из Ubuntu на диск в формате HFS, подключил 2 диска к своему Mac и снова скопировал файлы с диска в формате HFS на диск в формате HFS (журналируемый). Проблема решена. Как я обнаружил, единственный способ обойти это — копировать файлы в среде Mac. После того, как файл был скопирован один раз, проблемы с разрешениями были решены.
решение1
Я подозреваю, что Ubuntu рассматривает файлы с UID < 1000 как системные.
Я бы передал файлы как root, используя rsync через ssh:
rsync -avp -e ssh root@srcmachine:/path/to/src/files destination/dir
Если имена пользователя и группы совпадают, то uid будут переназначены. uid можно передать без изменений с помощью ключа --numeric-ids.
rsync также будет работать между файловыми системами, а не только по сети.
решение2
Сделайте себя владельцем файлов.
sudo chown -R ${LOGNAME}:${GROUPS} /path/to/copied/files