Имена пользователей не имеют значения. Разрешения в обеих файловых системах HFS + и Linux хранятся в терминах идентификаторов пользователей (UID), которые представляют собой числа, связанные с именами пользователей. В Ubuntu, как и в большинстве современных дистрибутивов Linux, первый пользователь получает UID по умолчанию 1000. В OS X первый пользователь получает UID 501 по умолчанию. Таким образом, при совместном использовании мультимедийных данных, которые кодируют значения UID, значения UID, вероятно, не совпадают.
Один из способов исправить это - установить свободные разрешения (значение режима, например rwxr-xr-x, или 755 в восьмеричном). Обратите внимание, что восьмеричный код прав доступа не совпадает со значением UID. В любой из ОС вы можете установить разрешения по умолчанию, используемые для файлов, с помощью umaskкоманды, которая задает значение бита, которое будет удалено из разрешений файла. Например, umask 022удаляет разрешение на запись для группы и другие разрешения, в результате чего 755 (rwxr-xr-x) разрешения для новых файлов (или 644, если что-то удаляет бит разрешения на выполнение, что является обычной практикой для файлов). Хотя это в основном инструмент командной строки; если вы в основном пользователь GUI, вам нужно будет найти другой инструмент для выполнения этой работы, вероятно, связанный со значениями по умолчанию в среде вашего рабочего стола. Это может быть неясным и плохо документированным. Кроме того, установка свободных разрешений таким способом может иметь недостатки безопасности, особенно если у вас многопользовательская система.
Лучшим подходом является синхронизация UID вашей учетной записи в Linux и OS X. Вы можете легко изменить значение UID в Linux с помощью usermodкоманды, например:
usermod -u 501 dale
Эта команда устанавливает для UID daleзначение 501. Однако есть несколько существенных предостережений:
- Вы должны выйти из учетной записи, которую вы изменяете, прежде чем изменять ее. Попытка изменить используемую учетную запись приведет к ее странному поведению.
usermodдолжен быть использован как root. Вы можете выполнить его через sudo, но изменение учетной записи, которую вы изменяете, крайне нежелательно. Таким образом, вам нужно будет либо ввести rootпароль и войти в систему rootнапрямую, либо использовать его sudoсо второй учетной записи пользователя.
- Команда
usermodне изменит владельца любых файлов, принадлежащих данному пользователю. Чтобы настроить владельца этих файлов, вам нужно найти их, а затем изменить их владельца chown. Большая часть файлов будет находиться в домашнем каталоге пользователя, поэтому при chown -R dale: /home/daleвводе, как rootпосле изменения daleUID, большинство daleфайлов изменится на новый номер UID. Однако некоторые файлы пользователя могут находиться в другом месте. Набор текста find / -uid 1000найдет все файлы, которые используют старый UID (при условии, что это был 1000). Обратите внимание, что выполнение этой findкоманды, вероятно, займет несколько минут. Чтобы ускорить его, отключите все файловые системы, в которых вы точно не найдете совпадений, например тома FAT или NTFS.
- Если вы обращаетесь к томам FAT или NTFS, их значения UID определяются параметрами во время монтирования. Если вы используете файловый менеджер с графическим интерфейсом, скорее всего, значение UID установлено для того, кто запускает файловый менеджер, поэтому вам не нужно делать ничего особенного. Однако, если вы подключаете том через
/etc/fstabзапись, вам может потребоваться изменить значение UID, которое оно указывает.
- Ubuntu хранит минимальное значение, которое оно использует для UID
/etc/login.defs. Если вам не удастся изменить UID_MINзначение в этом файле, вы, вероятно, обнаружите, что ваша учетная запись «исчезнет» с экрана входа в систему с графическим интерфейсом пользователя и, возможно, из некоторых других систем. Таким образом, вы должны отредактировать этот файл.
Теоретически, вы можете изменить UID своей учетной записи (-ей) OS X аналогичным образом для достижения той же цели. Однако я менее знаком с инструментами обслуживания учетных записей OS X, поэтому не могу дать четких инструкций для этого. Корректировка значений OS X будет иметь то преимущество, что вам не придется настраивать UID_MINв Linux.
Если у вас есть несколько учетных записей на вашем компьютере, вы должны настроить их все, чтобы синхронизировать их между установками вашей ОС.
Еще один момент: значение идентификатора группы (GID) сохраняется аналогичным образом. IIRC, Ubuntu назначает значение GID для каждой учетной записи, идентичное его значению UID. Я не помню, что делает OS X по умолчанию. Возможно, вы захотите отрегулировать значения GID для двух ОС способом, аналогичным изменениям UID, но это вряд ли будет так важно, как корректировка значений UID.
РЕДАКТИРОВАТЬ: Если вы хотите изменить свой UID (и GID, если необходимо) в MacOS / OS X, а не в Ubuntu, вы можете сделать это. Поскольку эта модификация в macOS выходит за рамки этого сайта, я просто приведу ссылку на несколько страниц, которые предоставляют процедуры для этого в macOS:
774для разрешений.