这个就是专业!详解独一无二的绿联私有云DX4600 『Docker容器特权功能』
我在上一篇《绿联私有云DX4600 Docker功能》的文章中给大家展示了它简单易用的Docker功能:
文章链接:小白也能轻松上手,深度体验绿联私有云DX4600 Docker功能_NAS存储_什么值得买
然后在创建容器的时候,小伙伴们应该还记得我文中提到的绿联私有云最近更新的一个『Docker容器特权功能』吧!
很多小伙伴可能还不知道这是个什么功能,所以,今天专门就这个问题来给小伙伴们做个解答,满足你们的好奇心与求知欲~~
👉NO.1 什么叫做『Docker容器特权功能』?
众所周知,目前市面上基本所有NAS的系统都是Linux系统底层,绿联私有云也不例外。
而从Linux系统内核2.2开始,Linux 将传统上与超级用户 root (UID=0)关联的特权划分为不同的单元,并称为 “Capabilites”。在“Capabilites”机制内,每个单元都可以独立启用和禁用。这样当系统在做权限检查的时候就变成了:在执行特权操作时,如果进程的有效身份不是 root,就会去检查是否具有该特权操作所对应的“Capabilites”,并以此决定是否可以进行该“特权操作”。而绿联私有云此次更新简单来说就是在我们创建Docker容器的时候加入了这个“Capabilites”机制,也就是“特权操作”,所以就叫做『Docker容器特权功能』。
👉NO.2 『Docker容器特权功能』的必要性?
理论上说,Linux系统其实是一个非常安全的操作系统,因为它把所有的系统权限都赋予了单一的 root 用户,普通用户的权限非常有限。
但是我们作为普通用户,某些时候需要执行只有管理员才有的权限操作怎么办?常规操作要么通过命令“ sudo ”提升权限,但是NAS用户如果不止一个,配置管理和权限控制会很麻烦;还有就是通过设置“ SUID”命令来实现,但是问题是“ SUID”命令直接赋予了和root 一样的全部权限,这样就大大带来了安全隐患,成为一些不法分子的攻击漏洞。
但是有了“Capabilites”机制(特权功能)就不一样了,它提供了更加精细的特权集,可以解决普通用户权限问题的同时,还能有效的减小系统的安全攻击面,非常实用!
👉NO.3 绿联私有云DX4600『Docker容器特权功能』在哪里?
🔺我们在绿联私有云DX4600部署Docker容器容器的时候,在“编辑容器”的“基础设置”里面,有一个“容器能力”的选项,它就是绿联私有云DX4600『Docker容器特权功能』。
👉NO.4 绿联私有云DX4600『Docker容器特权功能』的特点?
🔺点开“配置”之后,看见一个“容器可选能力”的界面。可以看到该界面下,有20项前面有快捷开关的选项列表。这20个选项列表是什么意思呢?它其实就是给我们搭建的Docker容器赋予“特权”,也就是说就是开放相应的权限的,通过这20个选项列表前面的快捷开关来对Docker容器的权限进行精细控制的!
而绿联私有云这个权限的控制非常有意思,因为对于传统的NAS而言,一般情况下都需要SSH远程连接NAS,然后通过命令来开放或者关闭这些“权限”,而绿联私有云无需那些繁琐的命令,点点鼠标就能达到一样的效果,大大减少了小白用户新上手的难度!
👉NO.5 绿联私有云DX4600『Docker容器特权功能』20个选项意思?
🔺可能看到上图的小伙伴会有一个疑问:为啥20项开关有的是打开状态,有的是关闭状态?分别是什么意思?我该如何操作?
其实这里需要说明的就是,对于Docker容器“特权”功能,一般会有一个默认功能列表,而图中所显示的,就是绿联私有云保留的默认功能列表。其中打开状态表示的是默认允许并可以删除的功能选项,关闭状态表示的是默认未授予但可以添加的功能选项。
为了让有兴趣的小伙伴们更进一步了解绿联私有云Docker容器特权功能具体的20项“特权”,我特意查阅了资料并将这20项“特权”列表翻译了出来供大家参考:
PS:因为自己也不是程序员专业人士,这里采用的机翻,大家将就看吧~
默认允许并可以删除的功能选项:
AUDIT_WRITE(审计_写入):将记录写入内核审计日志
CHOWN:对文件 UID 和 GID 进行任意更改
DAC_OVERRIDE:绕过文件读取、写入和执行权限检查
FOWNER:绕过对通常需要进程的文件系统 UID 与文件的 UID 相匹配的操作的权限检查
FSETID:修改文件时不要清除 set-user-ID 和 set-group-ID 权限位
KILL:绕过发送信号的权限检查
MKNOD:使用 mknod(2) 创建特殊文件
NET_BIND_SERVICE:将套接字绑定到互联网域特权端口(端口号小于 1024)
NET_RAW:使用 RAW 和 PACKET 套接字
SETGID(设置标识符):对进程 GID 和补充 GID 列表进行任意操作
SETUID(设置标识符):对进程 UID 进行任意操作
默认未授予但可以添加的功能选项:
AUDIT_CONTROL(审计控制):启用和禁用内核审计;更改审核过滤规则;检索审核状态和过滤规则
AUDIT_READ(审计阅读):允许通过多播网络链接套接字读取审计日志
DAC_READ_SEARCH:绕过文件读取权限检查和目录读取和执行权限检查
LINUX_IMMUTABLE:设置 FS_APPEND_FL 和 FS_IMMUTABLE_FL i 节点标志
NET_ADMIN(网络管理员):执行各种与网络相关的操作
NET_BROADCAST(网络广播):进行套接字广播,并收听多播
SYS_ADMIN(系统管理员):执行一系列系统管理操作
SYS_PACCT:使用 acct(2),打开或关闭进程记帐
SYSLOG(系统日志):执行特权 syslog(2) 操作
这里需要说明的是:对于Docker容器来说,它的“特权”选项肯定不止绿联私有云这里列出来的20项。至于绿联私有云为什么没有放开全部特权,主要是因为它开放的是20项不涉及设备核心安全,或者风险较低类的权限选项。简单来说,就是为了用户的系统安全!
👉NO.6 我们该如何使用绿联私有云DX4600『Docker容器特权功能』?
对于我们小白用户来说,可能这20项“Docker容器特权功能”完全看不懂对吧?其实我也看的很懵逼,但是别慌,对于我们普通玩家来说,我们常见的Docker容器都不会用到这里的特权功能,而需要“特权功能”的Docker容器一般会在涉及到的Docker详情页会有介绍,我们只需要按照要求打开相应的权限开关即可。所以我们日常在使用绿联私有云DX4600部署Docker容器的时候,这里完全不用管它,保持默认即可。
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家~
原文链接:https://blog.csdn.net/qq_63499861/article/details/129002660?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836987416800197013756%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836987416800197013756&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-26-129002660-null-null.nonecase&utm_term=%E7%BB%BF%E8%81%94NAS