Имена пользователей не имеют значения. Разрешения в обеих файловых системах 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
после изменения dale
UID, большинство 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
для разрешений.