Символическая ссылка на .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 Диска вызывают ошибки синхронизации в Google Диске для Dekstop.
- Диск для настольных компьютеров и соединения/символические ссылки Windows --> Windows, но аналогичные проблемы.
- Можно ли создать символические ссылки для файлов, которые вы собираетесь разместить на двух «групповых дисках Google»?
- [РЕШЕНО] Как настроить настольное приложение Google Drive для синхронизации файлов между двумя компьютерами --> Однако наиболее многообещающее решение требует зеркального отображения файлов, а не их потоковой передачи.
- Google Диск для рабочего стола (macOS) выдает ошибку при обнаружении символических ссылок, ограничивает использование ЦП/ОЗУ на максимальном уровне
- Симлинк (shift+z) на общем диске
- Как мне/могу ли я создать символическую ссылку между ChromeOS и виртуальной машиной Linux?
Я могу продолжать перечислять, но вы поняли, что Google считает это лазейкой и поэтому предотвращает ее.