CEPHFS客户端功能(mimic版)

使用 Ceph 身份验证功能将您的文件系统客户端限制为所需的最低权限级别。

1. 限制路径

默认情况下,客户端不受允许挂载的路径的限制。此外,当客户端挂载子目录时,例如/home/user,MDS 默认情况下不会验证后续操作是否“锁定”在该目录中。
 
要限制客户端仅在某个目录中挂载和工作,请使用基于路径的 MDS 身份验证功能。

1.1 语法

为了仅授予对指定目录的 rw 访问权限,我们在使用以下语法为客户端创建密钥时指定目录。
ceph fs authorize *filesystem_name* client.*client_name* /*specified_directory* rw
例如,要限制客户端foo只能在cephfs_a文件系统bar目录中写入,请使用。
ceph fs authorize cephfs_a client.foo / r /bar rw

results in:

client.foo
   key: *key*
   caps: [mds] allow r, allow rw path=/bar
   caps: [mon] allow r
   caps: [osd] allow rw tag cephfs data=cephfs_a
要将客户端完全限制在bar目录中,请省略根目录。
ceph fs authorize cephfs_a client.foo /bar rw
请注意,如果客户端的读取访问权限仅限于路径,则只有在 mount 命令中指定可读路径时,他们才能挂载文件系统(见下文)。
 
提供all或*作为文件系统名称将授予对每个文件系统的访问权限。请注意,通常需要引用*以保护它免受外壳的影响。
 
为了将客户端仅限制在指定的子目录中,我们在使用以下语法进行挂载时指定目录。
./ceph-fuse -n client.*client_name* *mount_path* -r *directory_to_be_mounted*
例如,要将客户端foo限制在mnt/bar目录中,我们将使用。
./ceph-fuse -n client.foo mnt -r /bar

1.2 可用空间报告

默认情况下,当客户端挂载子目录时,已用空间 ( df) 将根据该子目录上的配额计算,而不是报告集群上已用空间的总量。
 
如果您希望客户端报告文件系统的整体使用情况,而不仅仅是挂载的子目录的配额使用情况,请在客户端上设置以下配置选项:
client quota df = false
如果未启用配额,或者在挂载的子目录上未设置配额,则无论此设置的值如何,都将报告文件系统的整体使用情况。
 
posted @ 2022-04-07 23:53  Varden  阅读(266)  评论(0)    收藏  举报