容器内核能力设定

内核能力简介

内核能力(kernel capabilities)是一种 Linux 内核的安全机制,用于细分进程的权限。它允许系统管理员精确控制进程对系统资源的访问权限,而无需将进程提升为完全的超级用户权限。
传统的 Unix 权限模型使用了用户和组的概念,以及基于文件的权限控制。然而,内核能力引入了一种更细粒度的权限管理机制。内核能力授权进程执行特定的特权操作,而不需要完全的超级用户权限。


内核能力可以用于限制对以下方面的访问:


系统资源:

  • 内核能力可以限制进程对系统资源(如网络、文件系统、设备等)的访问。不同的能力可以控制不同类型的资源访问,使管理员能够仅授予进程所需的最低权限。

特权操作:

  • 一些特权操作(如加载内核模块、修改网络配置、更改系统时间等)通常需要超级用户权限。但使用内核能力,可以将这些特权操作分配给具有相应能力的进程,而无需完全的超级用户权限。

一些常见的内核能力包括:

  • CAP_CHOWN:更改文件所有者的能力。
  • CAP_DAC_OVERRIDE:忽略文件权限检查的能力。
  • CAP_NET_ADMIN:进行网络配置和管理的能力。
  • CAP_SYS_ADMIN:执行系统管理任务的能力。
  • CAP_SYS_RAWIO:直接访问硬件设备的能力。
  • CAP_SYS_PTRACE:对其他进程进行调试和跟踪的能力。

查看pid的内核能力

# 查看pid的内核能力
getpcaps <进程ID>

image.png


为容器设置内核能力

参考: https://www.yafa.moe/post/cka-docker-basic/

容器权限设定

# 在运行BusyBox容器时设置内核能力的选项
## --cap-add NET_ADMIN:添加 NET_ADMIN 内核能力
## --cap-drop CHOWN:禁用 CHOWN 内核能力
kernel capabilities --cap-add NET_ADMIN --cap-drop CHOWN busybox

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值