как заставить кодировать символы сценария оболочки из сценария

Мел Бурсиан прав в своем ответе. Ваши пользователи и группы должны быть сопоставлены с одними и теми же UID и GID во всех системах UNIX, иначе вы получите ошибки владельца и разрешений при попытке доступа к файлам, созданным на других машинах.

OSX использует ту же настройку, что и UNIX, насколько я могу судить, поэтому применяются те же правила.

В Windows совершенно другая система разрешений. Не существует стандартного способа сопоставления разрешений UNIX с разрешениями Windows.

Я подозреваю, что здесь происходит то, что BTSync копирует разрешения между компьютерами UNIX и OSX без изменения владельца или группы файлов (помните, что важны номера UID и GID , а не пользователь и группы названия ). Он должен до некоторой степени изменить файлы из Windows, вероятно, поэтому ваши файлы Windows в основном работают.

По-видимому, изменение разрешений пользователя на лету является функцией BTSync Pro (я никогда не использовал ее). Я не уверен, что он может делать то, что вам нужно. Если вы используете Pro, вам следует обратиться в их службу поддержки и узнать, как решить вашу проблему.Если вы не используете Pro, вам следует изменить своих пользователей и группы для сопоставления с правильными UID и GID.

В MacOS есть инструмент для разрешений пользователей, который, как мне кажется, может исправить разрешения после изменения UID и GID. В UNIX после внесения изменений вам нужно будет использовать что-то вроде find для изменения владельцев и групп там, где это необходимо. Примеры команд ниже - предположим, что masi: masi соответствует 105: 105, и вам нужно, чтобы это было 99:99, и вы уже изменили / etc / passwd и / etc / group:

find / -uid 105 -exec chown masi {} \;

find / -gid 105 -exec chown: masi {} \;

Сначала создайте резервные копии и убедитесь, что во время процесса нет конфликтов UID или GID (т.е. два пользователя с одним и тем же UID, или две группы с одинаковым GID).

Альтернативный и более безопасный вариант - создать сценарий для каждой машины, которая выполняет команды, подобные приведенным выше, но только для каталогов, которые вы синхронизируете. Запускайте этот сценарий каждый раз при синхронизации (возможно, вызовите BTSync и соответствующие команды из того же сценария). Для этого вам понадобится sudo .

Да, и поскольку вы используете OSX и Windows, забудьте о комментариях NIS, которые я сделал выше.

5
20.03.2017, 12:18
0 ответов

Теги

Похожие вопросы