Ceph学习 -9.认证管理-用户实践

文章目录

  • 1.用户实践
    • 1.1 基础知识
    • 1.2 简单实践
    • 1.3 小结

1.用户实践

学习目标:这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

1.1 基础知识

简介

在ceph中,针对用户主要有两种场景:增删和导出导入

命令解析

添加用户:
	ceph auth add:创建用户、生成密钥并添加指定的caps
	ceph auth get-or-create:创建用户并返回密钥文件格式的密钥信息,用户存在时返回密钥信息
	ceph auth get-or-create-key:创建用户并返回密钥信息,用户存在时返回密钥信息

注意:
	典型的用户至少对 Ceph monitor 具有读取功能,并对 Ceph OSD 具有读取和写入功能;
	另外,用户的 OSD 权限通常应该限制为只能访问特定的存储池,
	否则,他将具有访问集群中所有存储池的权限
导入用户:
	命令:ceph auth import
修改用户caps:
	命令:ceph auth caps
		会覆盖用户现有的caps,因此建立事先使用ceph auth get TYPE.ID命令查看用户的caps

	若是为添加caps,则需要先指定现有的caps,命令格式如下:
		ceph auth caps TYPE.ID daemon 'allow [r|w|x|*|...] [pool=pool-name]' ...
删除用户:
	命令:ceph auth del TYPE.ID

1.2 简单实践

添加用户

查看帮助信息:
[cephadm@admin ceph-cluster]$ ceph auth --help

 General usage:
 ==============
usage: ceph [-h] [-c CEPHCONF] [-i INPUT_FILE] [-o OUTPUT_FILE]
            [--setuser SETUSER] [--setgroup SETGROUP] [--id CLIENT_ID]
            [--name CLIENT_NAME] [--cluster CLUSTER]
            [--admin-daemon ADMIN_SOCKET] [-s] [-w] [--watch-debug]
            [--watch-info] [--watch-sec] [--watch-warn] [--watch-error]
            [--watch-channel {cluster,audit,*}] [--version] [--verbose]
            [--concise] [-f {json,json-pretty,xml,xml-pretty,plain}]
            [--connect-timeout CLUSTER_TIMEOUT] [--block] [--period PERIOD]

Ceph administration tool

optional arguments:
  -h, --help            request mon help
  ......
创建普通用户:
[cephadm@admin ceph-cluster]$ ceph auth add client.testuser mon 'allow r' osd 'allow rw pool=rdbpool'
added key for client.testuser
获取创建的用户信息:
[cephadm@admin ceph-cluster]$ ceph auth get client.testuser
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
        caps mon = "allow r"
        caps osd = "allow rw pool=rdbpool"
exported keyring for client.testuser
列出用户的秘钥信息:
[cephadm@admin ceph-cluster]$ ceph auth print-key client.testuser
AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==

用户授权

修改用户的授权:
[cephadm@admin ceph-cluster]$ ceph auth caps client.testuser mon 'allow rw' osd 'allow rw pool=rdbpool1'
updated caps for client.testuser
查看修改后的授权信息:
[cephadm@admin ceph-cluster]$ ceph auth get client.testuser
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
        caps mon = "allow rw"
        caps osd = "allow rw pool=rdbpool1"
exported keyring for client.testuser

导出用户

查看导出信息:
[cephadm@admin ceph-cluster]$ ceph auth export client.testuser
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
        caps mon = "allow rw"
        caps osd = "allow rw pool=rdbpool1"
export auth(key=AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==)
导出信息到一个备份文件:
[cephadm@admin ceph-cluster]$ ceph auth export client.testuser > testuser.file
export auth(key=AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==)

[cephadm@admin ceph-cluster]$ cat testuser.file
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
        caps mon = "allow rw"
        caps osd = "allow rw pool=rdbpool1"

删除用户

删除用户信息:
[cephadm@admin ceph-cluster]$ ceph auth del client.testuser
updated
查看效果:
[cephadm@admin ceph-cluster]$ ceph auth get client.testuser
Error ENOENT: failed to find client.testuser in keyring

导入用户

导入用户文件:
[cephadm@admin ceph-cluster]$ ceph auth import -i testuser.file
imported keyring
查看文件效果:
[cephadm@admin ceph-cluster]$ ceph auth get client.testuser
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
        caps mon = "allow rw"
        caps osd = "allow rw pool=rdbpool1"
exported keyring for client.testuser

尝试创建一个未知的用户

创建一个已知的用户:
[cephadm@admin ceph-cluster]$ ceph auth get-or-create client.testuser
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
结果显示:
	如果是一个已存在的用户名,则会返回具体的信息,而且不会覆盖现有的用户信息
[cephadm@admin ceph-cluster]$ ceph auth get client.testuser
[client.testuser]
        key = AQAjixxmUbdGEBAAZFm/b7rRXvK+kdvO1NEQCg==
        caps mon = "allow rw"
        caps osd = "allow rw pool=rdbpool1"
exported keyring for client.testuser
创建一个未知的用户:
[cephadm@admin ceph-cluster]$ ceph auth get-or-create client.testuser2 mon 'allow r' osd 'allow rw pool=rdbpool'
[client.testuser2]
        key = AQD7jBxm6E7mLBAASfvt0HFO0TCDQckbKGsORQ==
如果从未出现过的用户,则直接创建新的用户:
[cephadm@admin ceph-cluster]$ ceph auth get client.testuser2
[client.testuser2]
        key = AQD7jBxm6E7mLBAASfvt0HFO0TCDQckbKGsORQ==
        caps mon = "allow r"
        caps osd = "allow rw pool=rdbpool"
exported keyring for client.testuser2

1.3 小结


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/548476.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cannot access ‘androidx.activity.FullyDrawnReporterOwner‘

Android Studio新建项目就报错: Cannot access ‘androidx.activity.FullyDrawnReporterOwner’ which is a supertype of ‘cn.dazhou.osddemo.MainActivity’. Check your module classpath for missing or conflicting dependencies 整个类都报错了。本来原来一直…

文献学习-37-动态场景中任意形状针的单目 3D 位姿估计:一种高效的视觉学习和几何建模方法

On the Monocular 3D Pose Estimation for Arbitrary Shaped Needle in Dynamic Scenes: An Efficient Visual Learning and Geometry Modeling Approach Authors: Bin Li,† , Student Member, IEEE, Bo Lu,† , Member, IEEE, Hongbin Lin, Yaxiang Wang, Fangxun Zhong, Me…

使用arthas查看java项目resources目录下面的文件内容

有一次在测试环境想看resources下面的mapper文件内容(代码执行和预期不一致,所以想排查一下是不是打上去的包有问题,没有通过下载jar的方式解压查看),然后想到了使用arthas来弄,这里记录一下怎么个查看法。…

【Textin.com】智能文档处理系列 - 电子文档解析技术全格式解析

一、引言 在当今的数字化时代,电子文档已成为信息存储和交流的基石。从简单的文本文件到复杂的演示文档,各种格式的电子文档承载着丰富的知识与信息,支撑着教育、科研、商业和日常生活的各个方面。随着信息量的爆炸性增长,如何高效…

listpack

目录 为什么有listpack? listpack结构 listpack的节点entry 长度length encoding编码方式 listpack的API 1.创建listpack 2.遍历操作 正向遍历 反向遍历 3.查找元素 4.插入/替换/删除元素 总结 为什么有listpack? ziplist是存储在连续内存空间,节省…

Spring Boot 2.x 将 logback 1.2.x 升级至 1.3.x

场景 安全部门针对代码进行漏洞扫描时,发现 logback-core 和 logback-classic 都属于 1.2.x 版本,这个版本存在 CVE 漏洞,并且建议升级到 1.3.x 版本。 问题 将两个包直接升级到 1.3.x 版本时,Spring Boot Web 服务启动直接出现…

基于Springboot+Vue+mysql仓库管理系统仓库进销存管理系统

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

nfs服务器详解

nfs(网络文件系统)---------- 其实就是通过网络将文件共享出去。 通过TCP/IP网络去共享资源的。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 客户端和服务端需要去读写共…

五分钟搞定什么是系统的平均负载

平均负载定义 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,和CPU使用率没有直接关系。简单理解就是平均负载其实就是平均活跃进程数。 使用uptime命令查看系统平均负载 在linux中&#xf…

【环境】原则

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 一、培养项目系统性思维 1.1 系统性思维 1.2 系统性思维的价值 1.3 建模和推演&数字孪生 二、项目的复杂性和如何驾驭复杂性 2.1 复杂性的三个维度 2.2 如何驾驭复杂性 三、…

Qt实现XYModem协议(一)

1 概述 Kermit文件运输协议提供了一条从大型计算机下载文件到微机的途径。它已被用于进行公用数据传输。 其特性如下: Kermit文件运输协议是一个半双工的通信协议。它支持7位ASCII字符。数据以可多达96字节长度的可变长度的分组形式传输。对每个被传送分组需要一个确认。Kerm…

如何利用纯前端技术,实现一个网页版视频编辑器?

纯网页版视频编辑器 一、前言二、功能实现三、所需技术四、部分功能实现4.1 素材预设4.2 多轨道剪辑 一、前言 介绍:本篇文章打算利用纯前端的技术,来实现一个网页版的视频编辑器。为什么突然想做一个这么项目来呢,主要是最近一直在利用手机…

KITTI结果领先地位!Progressive LiDAR Adaptation for Road Detection——PLARD算法

描述 详解一篇基于激光视觉融合的道路检测文章,发表在2019年自动化学报英文版(我所主编的业界顶刊)中,第三作者是陶大程,业界大佬,可自行进行百度。 为什么选择这篇文章进行分析呢。查看KITTI数据集的分数…

分布式数据库Polardb-X架构及特点

PolarDB-X架构 计算节点(Compute Node,CN)是系统的入口,采用无状态设计的sql引擎提供分布式路由和计算,包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务2PC协调…

CFDPro雾化仿真 | 专为雾化过程与液滴属性研究设计的仿真模块

雾化是一种将液体转化为微小液滴的技术,通过不同的雾化方法实现液体的高效分散、蒸发、燃烧、吸附或沉积等目的。 雾化仿真在多个工业领域中具有极其重要的地位。无论是内燃机中燃油的高效燃烧,还是化工生产中的喷雾干燥,以及农业喷雾中农药…

[linux]进程控制——进程终止

一、main函数的返回值 我们在编写C语言的程序时,通常会这样写: int main() {return 0; } 那么我们为什么要返回(return)0 呢? 其实,main函数也是一个函数,它也会被调用,所以谁调…

【力扣 Hot100 | 第四天】4.15(括号生成)

文章目录 4.括号生成4.1题目4.2解法:回溯4.2.1回溯思路(1)函数返回值以及参数(2)终止条件(3)遍历过程 4.2.2代码 4.括号生成 4.1题目 数字 n 代表生成括号的对数,请你设计一个函数…

计算机笔记(11)续20个

180.时钟频率2.0GHz表示一秒有2*10的9次方个时钟周期,若执行一条指令需要2个时钟周期,则每秒执行的指令数为2*10的9次方/21*10的9次方 181.同轴电缆粗缆采用AUI头作为连接器件 182. 183.win7中的回收站,存放的是硬盘上被删除的…

C语言:文件操作(三)

目录 前言 5、文章的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 结语 前言 本篇文章继续讲解文件操作,讲解文件的随机读写,主要有三个函数:fseek;ftell;rewind。 前面讲解的函数都是对文件内容进行顺序读写&#x…

MySQL 8.0.19安装教程(windows 64位)

在c盘目录下的Program Files目录下创建MySQL目录,将下载好的mysql解压到里面 解压完是这个样子 配置初始化的my.ini文件的文件 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirC:\Program Files\MySQL # 设置mysql数据库的数据的存放目录 datad…
最新文章