У меня есть две машины, Mac и ПК под управлением Linux, и я пытаюсь синхронизировать определенный файл между Dropbox.
Один из файлов, которые я синхронизирую, должен быть доступен для записи другому пользователю (другой UID на той же машине, не относящийся к другому пользователю Dropbox), кроме меня. Чтобы быть более конкретным, этот другой UID на самом деле является демоном. Таким образом, либо файл должен принадлежать этому другому пользователю, либо требуется разрешение на запись для «группы» и / или «другого». Первоначально я настроил это на обеих машинах. Кроме того, каталог, содержащий файл, уже принадлежит (chmod 777) пользователю, которому необходимо иметь доступ для записи в файл.
Однако всякий раз, когда файл синхронизируется из одного ящика в другой, создается впечатление, что Dropbox полностью игнорирует оба набора разрешений и изменяет разрешения для вновь обновленного файла, которым я владею, с разрешениями 0644 (rw для меня, r для всех остальных ). Если файл не принадлежит мне, он даже меняет владельца обратно на себя! В результате у другого пользователя больше нет прав на запись, пока я не войду и не перефразирую файл вручную.
Дополнительные вещи, которые я пробовал, которые не работали:
убедитесь, что учетная запись пользователя (для «другого пользователя») на обеих машинах имеет одинаковый UID. Не уверен, почему это будет необходимо, так как моя основная учетная запись не имеет одинаковый UID на обеих машинах.
chmod u+s <dir>
иchmod g+s <dir>
где находится каталог, содержащий рассматриваемый файл.смена владельца файла на другого пользователя и размещение его вне каталога Dropbox, а также создание символической ссылки на файл в каталоге Dropbox. Dropbox фактически удаляет символическую ссылку, оставляет исходный файл (вне каталога Dropbox) без изменений и создает новую копию файла, где раньше была символическая ссылка!
Как я могу настроить все так, чтобы мои права и / или права собственности были сохранены?
PAR=$(dirname $(readlink -f $0)) OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH LD_LIBRARY_PATH=$PAR${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH exec $PAR/dropbox $@
и находится в ./.dropbox-dist/ и управляется с помощью прилагаемого питон сценарияПоместите этот файл в его собственную папку и поделитесь этой папкой с другим пользователем. Таким образом, они редактируют последнюю версию, как и вы. Будьте осторожны, чтобы не работать над этим одновременно.
источник
Если вы копируете файл между двумя компьютерами, программное обеспечение, которое выполняет копирование, решает, какие разрешения у этой копии. Для того, что вы делаете, вам нужно довольно детализированное сопоставление разрешений. Функции сопоставления разрешений Dropbox ограничиваются сохранением разрешений, если обе системы работают на одной и той же ОС . Никаких конкретных результатов не гарантируется при копировании между двумя разными ОС.
Даже если бы вы могли найти способ использовать Dropbox так, как вам хочется, я бы посоветовал не полагаться на него. Недокументированные нюансы программного обеспечения могут исчезать без уведомления. Вам нужно взглянуть на инструменты передачи файлов, разработанные с учетом вашего варианта использования. Мой первый выбор был бы rsync , который является стандартным в дистрибутивах Linux, и его легко установить в Windows, особенно если у вас есть Cygwin . А Cygwin, как правило, полезен для людей, которые должны работать как с Windows, так и с Linux!
Конечно, для rsync требуется прямое соединение - нет центрального сервера, подобного тому, который предоставляет Dropbox. То, как вы справитесь с этим, зависит от настроек вашей сети.
источник