添加用户
添加用户jerry,lucy:
jerry只有对/jerry路径下的文件具有读写权限,对其他路径下的文件只有读的权限
lucy类似
[root@ceph-1 mnt]# ceph auth get-or-create client.jerry mon 'allow r' mds 'allow r, allow rw path=/jerry' osd 'allow rw'
[client.jerry]
key = AQCVtyxbal5PABAA+9CjbdyXsUiFdbvmFiZPIg==
[root@ceph-1 mnt]# ceph auth get-or-create client.lucy mon 'allow r' mds 'allow r, allow rw path=/lucy' osd 'allow rw'
[client.lucy]
key = AQCjtyxbVNbUHBAAii6mTXjOTLIG7K3p7RRDIQ==
获取权限列表
[root@ceph-1 mnt]# ceph auth list
删除某个用户
[root@ceph-1 mnt]# ceph auth del client.lucy
获取某个用户的key
[root@ceph-1 mnt]# ceph auth get-key client.lucy
AQCjtyxbVNbUHBAAii6mTXjOTLIG7K3p7RRDIQ==
修改用户权限
[root@ceph-1 ~]# ceph auth caps client.lucy mon 'allow r' mds 'allow r, allow rw path=/lucy, allow rw path=/jerry/jerry_share' osd 'allow rw'
BUG
- 仅读权限的目录,仍然可以通过追加的方式写入,这个应该是cephfs的bug
[root@ceph-1 mnt]# mount -t ceph ceph-1:6789,ceph-2:6789,ceph-3:6789:/ /mnt/lucy -o name=lucy,secret=AQCjtyxbVNbUHBAAii6mTXjOTLIG7K3p7RRDIQ==
mount error 13 = Permission denied
lucy 在jerry的目录下可查看文件,不可以vim进行修改or新建文件,but echo >> 可以追加。。
之后测试又发现:虽然可以追加,但其实内容并没有放入cephfs之中,只是本地看上去改了,其实没改。。(初步感觉是由于[mds] allow r的设置,如果把这个去掉,那么这种情况就不存在了,后续会继续研究)
注意
- 当用java api操作cephfs时,api无法指定新建文件or目录的所属用户or所属组,这两个属性取决于运行java程序时的当前用户(uid)及其所属的用户组(gid)
- 经过测试发现,cephfs文件or目录的权限是linux本身用户权限和cephfs用户权限的交集
- 修改用户权限后,在本地需要重新挂载才可生效
- 建目录,设置权限无需前后顺序