news 2026/4/18 2:05:31

rbd创建特定的用户

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
rbd创建特定的用户

!这是关于 Ceph 用户权限管理的非常重要且实用的内容。让我为你详细讲解:

核心概念理解

1. 为什么需要非管理员用户?

# 管理员用户(危险!)ceph auth get-or-create client.admin mon'allow *'osd'allow *'mgr'allow *'# 权限:可以执行任何操作,包括删除整个集群!# 专用用户(安全!)ceph auth get-or-create client.rbd_user mon'profile rbd'osd'profile rbd pool=mypool'# 权限:只能操作特定存储池的 RBD 功能

命令语法详解

基本结构

ceph auth get-or-create client.{用户名}\mon'权限描述'\osd'权限描述'\mgr'权限描述'

各部分权限说明

A. Monitor (mon) 权限
# 常用的 mon 权限配置mon'allow r'# 只读权限mon'allow rw'# 读写权限mon'profile rbd'# RBD 专用权限(推荐)
B. OSD 权限(最重要)
# 基本格式osd'profile {权限类型} pool={池名}'# 权限类型选项:profile rbd# RBD 完整权限profile rbd-read-only# RBD 只读权限profile rbd-read-write# RBD 读写权限
C. Manager (mgr) 权限
# RBD 相关的 manager 权限mgr'profile rbd'# RBD 管理权限

实际应用示例

示例1:创建基础的 RBD 用户

# 创建只能操作 rbdpool 的 RBD 用户ceph auth get-or-create client.rbd_user\mon'profile rbd'\osd'profile rbd pool=rbdpool'\mgr'profile rbd'

示例2:创建多池权限用户(如文档中的例子)

# 用户 qemu 对 vms 池有读写权限,对 images 池有只读权限ceph auth get-or-create client.qemu\mon'profile rbd'\osd'profile rbd pool=vms, profile rbd-read-only pool=images'\mgr'profile rbd pool=images'

示例3:创建只读监控用户

# 只能查看 RBD 信息,不能修改ceph auth get-or-create client.monitor\mon'profile rbd'\osd'profile rbd-read-only pool=rbdpool'\mgr'profile rbd'

完整的创建和使用流程

步骤1:创建专用用户

#!/bin/bashUSER_NAME="myrbduser"POOL_NAME="rbdpool"echo"=== 创建 RBD 专用用户 ==="# 创建用户并保存keyringceph auth get-or-create client.$USER_NAME\mon'profile rbd'\osd'profile rbd pool='$POOL_NAME\mgr'profile rbd'>/etc/ceph/ceph.client.$USER_NAME.keyringecho"用户创建完成"

步骤2:验证用户权限

# 使用新用户测试权限ceph --user$USER_NAME-s# 应该能查看集群状态ceph --user$USER_NAMEosd poolls# 应该能查看存储池rbd --user$USER_NAMEls--pool$POOL_NAME# 应该能操作 RBD# 测试越权操作(应该失败)ceph --user$USER_NAMEosd pool create test_pool88# 应该被拒绝

步骤3:客户端使用配置

# 在客户端机器上配置# 将keyring文件复制到客户端scp/etc/ceph/ceph.client.$USER_NAME.keyring client-machine:/etc/ceph/# 在客户端使用指定用户rbd map --pool$POOL_NAMEmyimage --user$USER_NAME

权限验证和测试

查看用户权限

# 查看所有用户ceph authls# 查看特定用户的权限详情ceph auth get client.$USER_NAME# 测试用户具体能执行哪些命令ceph --user$USER_NAMEosd lspools# 应该成功ceph --user$USER_NAMEosd pool delete rbdpool rbdpool --yes-i-really-really-mean-it# 应该失败

权限边界测试

#!/bin/bash# 测试用户权限边界USER="myrbduser"POOL="rbdpool"echo"=== 权限测试 ==="# 1. 应该成功的操作echo"测试允许的操作:"ceph --user$USER-s>/dev/null2>&1&&echo"✓ 查看集群状态"rbd --user$USERls--pool$POOL>/dev/null2>&1&&echo"✓ 查看 RBD 镜像"# 2. 应该失败的操作echo"测试禁止的操作:"ceph --user$USERosd pool create test_pool88>/dev/null2>&1||echo"✓ 禁止创建存储池"ceph --user$USERosd pool delete$POOL$POOL--yes-i-really-really-mean-it>/dev/null2>&1||echo"✓ 禁止删除存储池"

生产环境最佳实践

按用途创建专用用户

# 虚拟机用户(只能操作 vm_pool)ceph auth get-or-create client.vm_user mon'profile rbd'osd'profile rbd pool=vm_pool'mgr'profile rbd'# 备份用户(只读权限)ceph auth get-or-create client.backup mon'profile rbd'osd'profile rbd-read-only pool=vm_pool'mgr'profile rbd'# 监控用户(只读所有池)ceph auth get-or-create client.monitor mon'profile rbd'osd'profile rbd-read-only'mgr'profile rbd'

Keyring 文件管理

# 正确的文件权限设置chmod600/etc/ceph/ceph.client.*.keyringchownceph:ceph /etc/ceph/ceph.client.*.keyring# 密钥备份cp/etc/ceph/ceph.client.myrbduser.keyring /backup/

故障排除

常见权限错误

# 错误:权限不足rbd: error opening pool rbdpool:(13)Permission denied# 解决:检查用户权限ceph auth get client.myrbduser# 错误:keyring文件找不到rbd: couldn't connect to cluster:(13)Permission denied# 解决:指定keyring文件rbd --user myrbduser --keyring /etc/ceph/ceph.client.myrbduser.keyringls

总结

这个机制的核心价值:

  • ✅ 安全性:避免使用管理员权限执行日常操作
  • ✅ 职责分离:不同用途使用不同用户
  • ✅ 审计跟踪:便于追踪谁执行了什么操作
  • ✅ 故障隔离:一个用户密钥泄露不会影响整个集群

对于你的 RBD 测试环境,建议创建一个专用用户而不是一直使用admin用户!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:59:14

nvm-desktop终极指南:轻松管理多个Node.js版本

还在为不同项目需要不同Node.js版本而烦恼吗?nvm-desktop桌面应用让Node.js版本管理变得前所未有的简单。这款专为开发者设计的工具,彻底解决了多版本切换的痛点,让开发环境配置一键完成。 【免费下载链接】nvm-desktop 项目地址: https:/…

作者头像 李华
网站建设 2026/4/18 1:58:31

联想拯救者BIOS解锁实战:3步激活隐藏的高级硬件控制功能

联想拯救者BIOS解锁实战:3步激活隐藏的高级硬件控制功能 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mirrors…

作者头像 李华
网站建设 2026/4/10 7:03:08

java计算机毕业设计人文学子考研交流平台 基于SpringBoot的文科生考研资讯与互动社区 面向人文社科考生的院校信息共享与经验交流系统

计算机毕业设计人文学子考研交流平台91mn99(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。“择校、找资料、问经验”三件套曾是人文考研人离不开的三大灵魂拷问:院校…

作者头像 李华
网站建设 2026/4/11 0:23:59

76、利用SELinux增强Linux安全性

利用SELinux增强Linux安全性 1. 查看进程安全上下文 要查看进程的安全上下文,需要在 ps 命令中使用 -Z 选项。以下示例使用 ps -eZ 命令,然后通过管道将结果传递给 grep ,以仅搜索运行 bash shell的进程: # ps -eZ | grep bash unconfined_u:unconfined_r:un…

作者头像 李华
网站建设 2026/4/16 15:05:42

80、Linux 安全技术与云计算入门

Linux 安全技术与云计算入门 1. Linux 网络安全基础 在网络环境中,保障 Linux 服务器的安全至关重要,因为大多数恶意攻击都源于网络,尤其是互联网。以下是保障 Linux 服务器安全的一些基础步骤和技术: - 识别并移除不必要的网络服务 :通过确定并移除不必要的网络服务…

作者头像 李华
网站建设 2026/4/12 13:43:43

代码随想录 图论理论基础

一、图的基本概念: 1.图的概念:二维坐标中,两点可以连成线,多个点连成的线就构成了图。当然,图也可以就一个节点,甚至没有节点(空图)。 2.图的种类:整体上,图一般分为有向图和无向图。 (1)有向图:图中的边是有方向的。 (2)无向图:图中的边是没有方向的。 (…

作者头像 李华