这个就是专业!详解独一无二的绿联私有云DX4600 『Docker容器特权功能』

这个就是专业!详解独一无二的绿联私有云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容器特权功能』_第1张图片

我们在绿联私有云DX4600部署Docker容器容器的时候,在“编辑容器”的“基础设置”里面,有一个“容器能力”的选项,它就是绿联私有云DX4600『Docker容器特权功能』。

NO.4 绿联私有云DX4600『Docker容器特权功能』的特点?

这个就是专业!详解独一无二的绿联私有云DX4600 『Docker容器特权功能』_第2张图片

点开“配置”之后,看见一个“容器可选能力”的界面。可以看到该界面下,有20项前面有快捷开关的选项列表。这20个选项列表是什么意思呢?它其实就是给我们搭建的Docker容器赋予“特权”,也就是说就是开放相应的权限的,通过这20个选项列表前面的快捷开关来对Docker容器的权限进行精细控制的!

而绿联私有云这个权限的控制非常有意思,因为对于传统的NAS而言,一般情况下都需要SSH远程连接NAS,然后通过命令来开放或者关闭这些“权限”,而绿联私有云无需那些繁琐的命令,点点鼠标就能达到一样的效果,大大减少了小白用户新上手的难度!

NO.5 绿联私有云DX4600『Docker容器特权功能』20个选项意思?

这个就是专业!详解独一无二的绿联私有云DX4600 『Docker容器特权功能』_第3张图片

可能看到上图的小伙伴会有一个疑问:为啥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,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货!谢谢大家~

你可能感兴趣的:(NAS,docker,容器,运维)