Символическая ссылка на .tmp.drivedownload нарушает работу клиента Google Drive для настольных компьютеров

Введение

Клиент Google Диска для ПК для Windows (а когда-то и Google Backup & Sync) использует две временные скрытые папки, которые устанавливаются в корне локальной папки Google Диска, для синхронизации файлов и папок в Интернете и локально. Это:

      .tmp.drivedownload
.tmp.driveupload

Когда Google Диск для компьютеров синхронизирует файлы и папки, они временно сохраняются в указанных выше папках.

Например, давайте сосредоточимся на процессе, происходящем при загрузке файла из браузера на Google Диск:

  • С помощью браузера файл Notes.txt загружается на Google Диск в папку
  • После завершения загрузки Google Drive для рабочего стола (или Backup and Sync), работающий на клиентском компьютере, обнаружит изменение и выполнит загрузку вышеуказанного файла.
  • Файлnotes.txtзагружается на локальный компьютер, то, предполагаяc:\driveэто корневая папка Google Диска, она перемещается в папкуc:\drive\Mike

Все это вполне разумно, однако проблемы возникают, когда локальный компьютер, на котором работает клиент Google Drive для настольных компьютеров, является Windows Server.

В этом сценарии нескольким пользователям требуется безопасный доступ к файлам, поскольку система должна гарантировать полное соблюдение прав доступа к файлам. В следующей схеме каждый пользователь должен подключаться только к своей папке.

Допустим, в облаке учетная запись Google Диска « [email protected] » делит некоторые папки с пользователями Майком, Сью и Бобом. Каждый пользователь может получить доступ только к своим папкам.

На локальном сервере Windows, на котором работает клиент Google Drive для настольных компьютеров, структура папок повторяет онлайн-версию с соответствующими настройками списков управления доступом NTFS.

Посмотрите, что происходит в приведенном выше сценарии, когда пользователь Майк загружает файл на Google Диск с помощью браузера:

  • Файл загружается на Google Диск в папкуMy Drive > Mike
  • После завершения загрузки клиент Google Drive для рабочего стола (или Backup and Sync), работающий на клиентском компьютере, а именно на компьютере с Windows Server, обнаружит изменение и выполнит загрузку вышеуказанного файла.
  • ФайлotherNotes.txtзагружается на локальный компьютер в папку, списки ACL которой унаследованы локальным пользователем, установившим клиент Google Drive for Desktop (обычно это учетные записи СИСТЕМЫ и Администратора), поэтому загруженный файл унаследует эти разрешения.
  • На этом этапе указанный выше файл перемещается в папкуc:\drive\mike, (который изначально был настроен на предоставление монопольного доступа пользователю Майку), однако, поскольку файл перемещается по тому же разделу, он сохраняет списки ACL, унаследованные на предыдущем шаге, не позволяя пользователю Майку получить доступ к этому файлу (см. эту статью) . чтобы лучше понять влияние списков ACL при перемещении файла в одном разделе или между несколькими разделами )

Ранее эффективный обходной путь (теперь сломанный!!)

Как объяснялось в статье выше, когда файл или папка перемещаются между томами/разделами, они наследуют ACL-списки целевой папки, поэтому до появления клиента Google Drive для настольных компьютеров проблема могла быть решена следующим образом:

  • удаление папки;
  • создание символической ссылки на папку, расположенную на другом томе. Например:mklink /d C:\drive\.tmp.drivedownload \\QNAP-TS231P\tmpDrive

При этом файлы из Интернета на Google Диске загружались и перемещались в соответствующую локальную папку, однако, поскольку папка располагалась в другом разделе/томе, файл правильно наследовал списки ACL, установленные в целевой папке, как и ожидалось. .

К сожалению, все это теперь сломано, так как появление клиента Google Drive for Desktop, который заменяет старый добрый Backup & Sync, не позволяет использовать описанный выше трюк, так как когда-то символическая ссылка на.tmp.drivedownloadсоздан, клиент Google Drive для рабочего стола выдаст ошибку при попытке синхронизировать файл или папку из облака на локальный компьютер.

Дальнейшее изучение журналов Google Диска для компьютеров покажет ошибку, например:

      <<some data here>> failed with Status::GENERIC_ERROR

Что бы вы попробовали?

1 ответ

Столкнулся с аналогичной ситуацией, и, к сожалению, похоже, что Google предотвращает использование символических ссылок и блокирует темы, в которых задаются вопросы по этому поводу.

Я могу продолжать перечислять, но вы поняли, что Google считает это лазейкой и поэтому предотвращает ее.

Другие вопросы по тегам