При обращении к хранилищу, установленному на предохранителе, отображается сообщение 403 Forbidden Error
У меня есть облачный проект Google. В этом проекте. У меня есть экземпляр VM. Я смонтировал папку загрузок с корзиной Google Cloud Storage, используя предохранитель.
Во время монтажа я получаю такую ошибку,
Using mount point: /var/www/html/porject/app/webroot/uploads
Opening GCS connection...
Opening bucket...
Mounting file system...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1
stderr:
fusermount: mount failed: Operation not permitted
поэтому я использую команду sudo, теперь я получаю ответ, как это
Using mount point: /var/www/html/4thambit_v7/app/webroot/uploads
Opening GCS connection...
Opening bucket...
Mounting file system...
File system has been successfully mounted.
Но я не могу получить доступ к папке загрузки, она показывает ошибку 403 (см. Изображение.)
Ответ команды ls -l, подобный этому
drwxrwxrwx. 1 root root 0 May 8 13:26 uploads
Кто-нибудь знает, как правильно смонтировать папку на машине Centos с облачным хранилищем. если монтирование gcs прошло успешно. он будет работать аналогично локальному каталогу.
1 ответ
Это звучит как ошибка разрешения. Я бы предложил запустить gcsfuse, включая --foreground
а также --debug_fuse
варианты, чтобы увидеть полную ошибку.
Поскольку вы, кажется, смонтировали файловую систему как root, пользователь, обращающийся к файлу / папке, не имеет разрешения на это, как объяснено в этой документации.
Ты можешь использовать glcoud auth login
(ссылка), чтобы войти в свою учетную запись Google и смонтировать файловую систему после.
GCSFUSE по умолчанию - READONLY, для чтения / записи следует указать файл json:
Создайте ключ json для учетной записи службы:https://console.cloud.google.com/iam-admin/serviceaccounts/details/
Загрузите файл JSON на сервер
Запустите gcsfuse как:
gcsfuse --key-file="/path/to/key-4c8e254b9365.json" bucket_name_path /path/to/mount/bucket