На моем Mac я использую раздел HFS без регистрации для обмена файлами между OSX 10.8 и Ubuntu 12.04.
Сначала это была хорошая мысль, потому что Time Machine автоматически создаст резервную копию тома в OSX, но вскоре я заметил, что OSX и Ubuntu мешают с разрешением таким образом, что мне это мешает.
Итак, чтобы полностью просматривать и изменять файлы, я продолжаю использовать chmod
для применения разрешений, которые позволят мне полностью использовать документ. Но я не понимаю, почему я должен продолжать применять изменения снова и снова .
Думаю, 777 будет работать, но я подумал, что это не очень разумно. Но до тех пор, пока «другие» не получат полный доступ (третья семерка), я вижу значок блокировки на файле в Ubuntu.
Имена пользователей не имеют значения. Разрешения как в файловых системах 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, если что-то удаляет разрешение на выполнение bit, что является обычной практикой для файлов). Однако это в основном инструмент командной строки; Если вы в значительной степени являетесь пользователем графического интерфейса, вам нужно будет найти другой инструмент для выполнения этой работы, вероятно, связанный с настройками по умолчанию для среды рабочего стола. Это может быть неясным и плохо задокументированным. Кроме того, такая установка свободных разрешений может иметь недостатки в безопасности, особенно если ваша система многопользовательская.
Лучшим подходом является синхронизация 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
после изменения UID dale
. , изменит большинство файлов dale
на использование нового номера UID. Однако некоторые файлы пользователя могут находиться в другом месте. Набрав find / -uid 1000
, будут найдены все файлы, в которых используется старый UID (при условии, что он был 1000). Обратите внимание, что выполнение этой команды find
, вероятно, займет несколько минут. Чтобы ускорить его, размонтируйте все файловые системы, в которых вы уверены, что он не обнаружит попаданий, например тома FAT или NTFS. / etc / fstab
, вам может потребоваться изменить значение 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.
EDIT: Если вы хотите измените свой UID (и GID, если необходимо) в macOS / OS X, а не в Ubuntu, вы можете это сделать. Поскольку это изменение в macOS выходит за рамки этого сайта, я просто сделаю ссылку на несколько страниц, которые предоставляют процедуры для этого в macOS:
Я обнаружил, что иногда вы можете щелкнуть папку, которой хотите поделиться, и нажать command + I. Затем нажмите на замок и введите свой пароль, если он не разблокирован Затем, где говорится, что «все» выбирают чтение и запись.
Еще одна полезная вещь - настроить папку в качестве «общей папки», вы можете сделать это на панели предпочтений общего доступа в системных настройках.
Перейдите в системные настройки> общий доступ> общий доступ к файлам. Затем сделайте общий доступ, чтобы флажок общего доступа к файлам отмечен, и добавьте папку, которой вы хотите поделиться, с помощью кнопки плюса. Затем вы можете изменить разрешения на чтение и запись.
ОДНО ПРИМЕЧАНИЕ: использование второго варианта также откроет ваш компьютер, чтобы разрешить доступ к выбранной папке через Интернет (только при загрузке в os x) !! Сделайте так, чтобы у вас был надежный пароль и что вы, вероятно, отключите его в общественных местах (не забудьте взять шляпу из фольги!)
Откройте терминал и:
В OS X попробуйте это
sudo dscl / -create /Users/<ubuntu-username>
sudo dscl / -append /Groups/<os-x-username> GroupMembership <ubuntu-username>
В Ubuntu запустите это
sudo adduser --system --no-create-home --ingroup <ubuntu-username> <os-x-username>
Теперь вы сможете использовать 774
или даже 770
для прав доступа к файлам.