На моем Mac я использую раздел HFS без регистрации для обмена файлами между OSX 10.8 и Ubuntu 12.04.
Сначала это была хорошая мысль, потому что Time Machine автоматически создаст резервную копию тома в OSX, но вскоре я заметил, что OSX и Ubuntu мешают с разрешением таким образом, что мне это мешает.
Поэтому, чтобы полностью просматривать и изменять файлы, я продолжаю использовать chmod
для применения разрешений, которые позволят мне полностью использовать документ. Но я не понимаю, почему я должен продолжать применять изменения снова и снова .
Можно ли постоянно устанавливать какое-то разрешение, чтобы обе операционные системы постоянно уважали?
Я думаю, что 777 будет работать, но я думал, что это не умная вещь, чтобы сделать. Но пока «другие» не получают полный доступ (третья семерка), я вижу значок блокировки на файле в Ubuntu.
774
для разрешений.Ответы:
Имена пользователей не имеют значения. Разрешения в обеих файловых системах 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
команды, например:Эта команда устанавливает для 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./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.
РЕДАКТИРОВАТЬ: Если вы хотите изменить свой UID (и GID, если необходимо) в MacOS / OS X, а не в Ubuntu, вы можете сделать это. Поскольку эта модификация в macOS выходит за рамки этого сайта, я просто приведу ссылку на несколько страниц, которые предоставляют процедуры для этого в macOS:
источник
UID_MIN
.Я обнаружил, что иногда вы можете щелкнуть по папке, которой вы хотите поделиться, и нажать команду + I. Затем нажмите на замок и введите свой пароль, если он не разблокирован. Далее, затем там, где написано «все», выберите «читать и писать».
Еще одна полезная вещь - настроить папку как «общую папку», это можно сделать на панели настроек общего доступа в системных настройках.
Перейдите в системные настройки> общий доступ> общий доступ к файлам. Затем сделайте общий доступ, отметив поле обмена файлами, и добавьте папку, которой вы хотите поделиться, используя кнопку «плюс». Затем вы можете изменить права на чтение записи.
ОДНО ПРИМЕЧАНИЕ: использование второго варианта также откроет ваш компьютер, чтобы разрешить доступ к папке по вашему выбору через Интернет (только при загрузке в OS X) !! Сделайте общий доступ, у вас есть надежный пароль и вы, вероятно, отключите его в общественных местах (не забудьте взять шляпу из фольги!)
источник
774
.Откройте терминал и:
В OS X попробуйте это
В Ubuntu запустите этот
Теперь вы должны быть в состоянии использовать
774
или даже770
для доступа к файлам.источник
<ubuntu-username>
свое фактическое имя пользователя в Ubuntu (то же самое для<os-x-usernanme>
)? И можете ли вы более конкретно рассказать о том, какие ошибки выдает OS X при попытке запустить эту команду?adduser
не выходит.