Я использую Google Compute Instance, который должен иметь возможность подключаться для чтения и записи в корзину, смонтированную локально.
На данный момент, пока я ssh-ed в машину, у меня есть разрешение на чтение всех файлов в каталоге, но не на их запись.
Вот еще несколько деталей:
gcloud init
account: PROJECT_NUMBER-compute@developer.gserviceaccount.com
При рассмотрении IAM на платформе Google этот IAM играет проприетарную роль, поэтому он должен иметь доступ ко всем ресурсам в проекте.
gcsfuse -o allow_other --file-mode 777 --dir-mode 777 --o nonempty BUCKET LOCAL_DIR
Теперь, глядя на разрешения, все файлы имеют (как и ожидалось)
ls -lh LOCAL_DIR/
drwxrwxrwx 1 ubuntu ubuntu 0 Jul 2 11:51 folder
Однако при запуске очень простого кода Python, сохраняющего рассол в одном из этих каталогов, я получаю следующую ошибку
OSError: [Errno 5] Input/output error: FILENAME
Если я запускаю gcsuse с флагом --foreground, он выдает ошибку
fuse: 2018/07/02 12:31:05.353525 *fuseops.GetXattrOp error: function not implemented
fuse: 2018/07/02 12:31:05.362076 *fuseops.SetInodeAttributesOp error: SetMtime: \
UpdateObject: googleapi: Error 403: Insufficient Permission, insufficientPermissions
Что странно, поскольку учетная запись на виртуальной машине играет проприетарную роль.
Есть какие-нибудь предположения о том, как это преодолеть?