この文書は、Gfarm の マルチテナント機能を説明します。
マルチテナント機能とは、単一の Gfarm ファイルシステムを 仮想的に複数のテナントに分割してユーザーに提供する機能です。
マルチテナント機能を用いる場合、 テナント tenantA に属するユーザー user1 は、 Gfarm の認証処理の段階では user1+tenantA のように + の後に テナント名を付加したユーザー名として扱います。 認証完了後、このユーザーによるファイルシステムアクセスでは あたかも /.tenants/tenantA/ がルートディレクトリであるかのように 扱われます。
またテナント内のユーザーから見ると、自身のユーザー名は あたかも user1 のように見えます。
同様に、テナントA に属するグループ group1 は内部的には group1+tenantA というグループ名を持ちます。
例:
$ gfwhomai user1 $ gfls -ld /tmp drwxrwxrwt 2 user1 group1 0 Mar 22 20:41 /tmp
$ gfuser -c user1+tenantA 'user1 in tenantA' /home/user1 "" $ gfgroup -c gfarmadm+tenantA user1+tenantA $ gfgroup -c gfarmroot+tenantA $ gfsudo gfmkdir -p /.tenants/tenantA $ gfsudo gfchmod 000 /.tenants $ gfsudo gfchmod 755 /.tenants $ gfsudo gfchown user1+tenantA:gfarmadm+tenantA /.tenants/tenantA
デフォルト・テナントで gfarmadm グループ権限を持つユーザは、 全テナントのユーザー、グループにアクセスできる権限権限を持ちます。 またデフォルト・テナントで gfarmroot グループ権限を持つユーザは、 全テナントのファイルシステムにアクセスできる権限を持ちます。