2016-09-27 31 views
2

CentOS Linuxの計算エンジンインスタンスでマウントしようとしている標準のGoogleストレージバケットを作成しましたが、 rootユーザー以外のユーザー(gcsfuseでマウントされたストレージの場所を読み書きできるユーザー)にアクセス権を与えます。 root以外のユーザーとしてマウントしようとすると、gcsfuseコマンドは正常に完了したが、バケットの読み込みまたは書き込みを試みるとI/Oエラーが発生することを示します。 LinuxのインスタンスにGoogleストレージバケット体験を搭載しているユーザーからの指導に感謝します。Google Cloud Storageバケット:グローバル権限を持つLinuxインスタンスへのマウント

答えて

2

これはhere述べたように、あなたが-o allow_otherフラグと権限をオーバーライドすることができGCSFuseの予想される動作です:

アクセス権と所有権

iノード

デフォルトでは、 gcsfuseファイルシステムのすべてのiノードは、gcsfuseプロセス自体のUIDとGIDが所有するものとして表示されます。つまり、ファイルシステムをマウントしたユーザですm。すべてのファイルはパーミッションビット0644を持ち、すべてのディレクトリはパーミッションビット0755を持っています(ただし、他のユーザが使用する問題については以下を参照してください)。 inodeモードの変更(chmod(2)などを使用)はサポートされず、変更は暗黙のうちに無視されます。

これらのデフォルトは、--uid、--gid、--file-mode、および--dir-modeフラグで上書きできます。

ヒューズ

ヒューズカーネル層自体は、実装ユーザ(参照fuse.txt)へのファイルシステムへのアクセスを制限します。したがって、構成されたiノードのアクセス権にかかわらず、デフォルトでは、ファイルシステムにアクセスしようとすると、他のユーザーは「アクセス権が拒否されました」というエラーを受け取ります。これには、rootユーザーが含まれます。

これは、-o allow_otherを設定して、他のユーザーがファイルシステムにアクセスできるようにすることでオーバーライドできます。注意してください!セキュリティ上の影響があるかもしれません。

関連する問題