web-dev-qa-db-fra.com

Erreurs de permission à l'aide de GCSFuse comme utilisateur non root sur Google Compute Instance

Nous essayons actuellement de démo la plate-forme Google Cloud pour certaines charges de travail nécessitant beaucoup de stockage. Nous essayons d'utiliser le stockage de cloud Google, mais nous rencontrons des problèmes de montage des godets à l'aide de GCSFuse. Je suis actuellement capable de monter mon seau de test en tant qu'utilisateur root (avec l'option allow_other option), mais les utilisateurs de non-root n'ont qu'un accès en lecture.

Choses que j'ai essayées et vérifiées:

  • réglage du point de montage sur 777. Les permanentes sont écrasées lorsque le godet est monté.
  • l'utilisateur présenté dans gcloud config list | grep account a reçu l'accès du propriétaire pour ce seau
  • le VM===== Disposition sur a accès complet à API à tous les services de cloud Google

Voici la sortie de la console - Content et touchant animal.txt pour mettre à jour l'horodatage.

root@vm-00 cloud]# grep bucket /etc/fstab
test_bucket_00 /data/cloud/tb-00 gcsfuse  rw,allow_other
[root@vm-00 cloud]# mount tb-00
Calling gcsfuse with arguments: -o rw -o allow_other test_bucket_00 /data/cloud/tb-00
Using mount point: /data/cloud/tb-00
Opening GCS connection...
Opening bucket...
Mounting file system...
File system has been successfully mounted.
[root@vm-00 cloud]# mount | grep bucket
test_bucket_00 on /data/cloud/tb-00 type Fuse (rw,nosuid,nodev,allow_other,default_permissions)
[root@vm-00 cloud]# ls -lh /data/cloud/tb-00/animal.txt ; date ; touch/data/cloud/tb-00/animal.txt ; ls -lh /data/cloud/tb-00/animal.txt 
-rw-r--r--. 1 root root 20 Jan 21 00:24 /data/cloud/tb-00/animal.txt
Thu Jan 21 00:25:37 UTC 2016
-rw-r--r--. 1 root root 20 Jan 21 00:25 /data/cloud/tb-00/animal.txt
[root@vm-00 cloud]# cat /data/cloud/tb-00/animal.txt
ants bats cats dogs
[root@vm-00 cloud]# ls -lh /data/cloud
total 4.0K
drwxr-xr-x. 1 root root    0 Jan 21 00:25 tb-00
[root@vm-00 cloud]# chmod 777 /data/cloud/tb-00
[root@vm-00 cloud]# ls -lh /data/cloud
total 4.0K
drwxr-xr-x. 1 root root    0 Jan 21 00:25 tb-00
[root@vm-00 cloud]# gcloud config list
Your active configuration is: [NONE]
[core]
account = [email protected]
disable_usage_reporting = True
project = testing1-1148
[root@vm-00 cloud]#

et maintenant, comme un utilisateur non root, je suis capable de voir le contenu de animal.txt mais je ne peux pas toucher le fichier ni créer un nouveau fichier dans ce répertoire. :

[testuser@vm-00 ~]$ cat /data/cloud/tb-00/animal.txt
ants bats cats dogs
[testuser@vm-00 ~]$ touch /data/cloud/tb-00/mineral.txt
touch: cannot touch `/data/cloud/tb-00/mineral.txt': Permission denied
[testuser@vm-00 ~]$ gcloud config list
Your active configuration is: [NONE]
[core]
account = [email protected]
disable_usage_reporting = True
project = testing1-1148

GCSFuse est-il la bonne façon d'aller à ce sujet ou existe-t-il une meilleure solution pour le montage d'un godet de stockage de cloud Google disponible sur un niveau système? Je sais que les docs disent de ne pas monter le seau comme la racine, mais je n'ai rien vu qui a expliqué pourquoi c'est mauvais. J'ai essayé de monter en tant qu'utilisateur non professionnel, mais j'ai eu un problème d'autorisation, même après que l'utilisateur ait été ajouté au groupe de fusibles. Je ne sais pas si cela est lié à mon problème, mais j'aimerais que j'aimerais creuser cela une fois que je le travaille.

8
echdee

644 et 755 Sont les autorisations par défaut pour tous les fichiers et répertoires INODES dans un système de fichiers GCSFuse. Vous pouvez utiliser le --file-mode et --dir-mode drapeaux pour les contrôler. Voir ICI pour la documentation.

10
jacobsa

Pour créer l'entrée FSTAB à l'aide de l'exemple d'ECHDEE, spécifiez les attributs du mode DIR de GCSFuse et du mode de fichier avec des traits de soulignement:

test_bucket_00 /data/cloud/tb-00 gcsfuse rw,allow_other,file_mode=777,dir_mode=777

https://github.com/googlecloudplatform/gcsfuse/blob/master/docs/mounting.md

3
Phil Brammer