cephfs限制挂载点

之所以要单独说一下这个东西,是因为我们知道cephfs有两种挂载方式,一是cephfuse,另一种就是kernel驱动.

kernel 3.9 - 的系统里通过kernel驱动挂载cephfs会有这么个问题,比如我不希望用admin用户去挂载cephfs,而是出于安全考虑另外创建了一个用户,并且我希望限制用户只能挂载某个子目录,而不能挂载/目录…这个时候kernel 3.9 以下的系统会报错mount error 13 = Permission denied.

其实就是kernel 3.9以下的版本的缺陷,通过升级kernel 4.9+ 或者 kernel patch 都可以解决.

如果不处理,那么用户caps必须有mds allow r,造成的结果就是cephfs最多只能/=r & /dir=rw.

3.1 kernel <3.9

# /=r /bar=rw
ceph fs authorize cephfs client.user07 / r /user07 rw
 
# 或者通过caps设置
ceph auth caps client.user07 \
	mon "allow r" \
	mds "allow r, allow rw path=/user07" \
	osd "allow rw pool=cephfs_data"

3.2 kernel >=3.9

# /bar=rw
ceph fs authorize cephfs client.user07 /user07 rw
 
# 或者通过caps设置
ceph auth get-or-create client.user07  \
        caps mds = "allow rw path=/user07"
        caps mon = "allow r"
        caps osd = "allow rw pool=cephfs_data"

PS,修改caps命令:

ceph auth caps client.user07 \
	mon "allow r" \
	mds "allow r, allow rw path=/user07 " \
	osd "allow rw pool=cephfs_data"

  • storage/ceph/cephfs限制挂载点.txt
  • 最后更改: 2020/08/05 03:45
  • (外部编辑)