银河麒麟高级服务器操作系统V10SP2(X86|ARM)docker-engine软件导致容器umask值为0027而不是0022处理方法

银河麒麟高级服务器操作系统V10SP2(X86|ARM)docker-engine软件导致容器umask值为0027而不是0022问题分析

    • [一 系统环境](#一 系统环境)
    • [二 问题原因](#二 问题原因)
      • [2.1 欧拉官网给出的解释](#2.1 欧拉官网给出的解释)
      • [2.2 麒麟软件包的来源是沿用欧拉上游社区](#2.2 麒麟软件包的来源是沿用欧拉上游社区)
    • [三 本地测试](#三 本地测试)
    • [四 问题解决](#四 问题解决)
      • [4.1 方案一 添加--exec-opt native.umask=normal参数](#4.1 方案一 添加--exec-opt native.umask=normal参数)
        • [4.1.1 编辑/etc/sysconfig/docker文件](#4.1.1 编辑/etc/sysconfig/docker文件)
        • [4.1.2 重载服务](#4.1.2 重载服务)
        • [4.1.3 重启docker服务](#4.1.3 重启docker服务)
      • [4.2 方案二 升级docker-engine到docker-engine-18.09.0-202.p02.ky10.x86_64](#4.2 方案二 升级docker-engine到docker-engine-18.09.0-202.p02.ky10.x86_64)
        • [4.2.1 执行升级命令](#4.2.1 执行升级命令)
        • [4.2.2 重载服务](#4.2.2 重载服务)
        • [4.2.3 重启docker服务](#4.2.3 重启docker服务)

前言
1、runc二进制程序导致umask值变化,该二进制在在docker-engine软件包中自带
2、建议用升级软件包的方式解决,并先行在测试环境测试
3、SP1、SP2均有这个问题,SP1也需要升级到SP2 updates源里面的docker-engine-18.09.0-202.p02.ky10.x86_64版本及以上

一 系统环境

bash 复制代码
[root@localhost ~]# nkvers 
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Sword)

Kernel:
4.19.90-24.4.v2101.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-x86_64-Build09/20210524
#################################################

二 问题原因

2.1 欧拉官网给出的解释

查看欧拉官网给出的说明:默认主容器进程和执行进程的umask值为0022。为了满足安全规范并防止容器受到攻击,将umask的默认值更改为在修改了runc实现之后,到0027。修改后,其他组无法访问新的文件或目录。

Docker启动容器时,默认值为umask为0027。您可以在容器启动过程中运行"-exec-optnative.umask=normal"命令,将值恢复为0022。

具体官网参考链接(https://gitee.com/openeuler/docs/pulls/2267.diff)

2.2 麒麟软件包的来源是沿用欧拉上游社区

麒麟源里面的docker-engine沿用的openeuler的包,所以默认的容器umask值是0027。

三 本地测试

更新到docker-engine-18.09.0-202.p02.ky10.x86_64版本及以上 将umask默认值改回了0022,该包在SP2对应架构的updates yum源中。

bash 复制代码
X86 yum更新源链接:
https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/x86_64/Packages/
aarch64 yum更新源链接:
https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/aarch64/Packages/

四 问题解决

4.1 方案一 添加--exec-opt native.umask=normal参数

4.1.1 编辑/etc/sysconfig/docker文件
bash 复制代码
vim /etc/sysconfig/docker
将OPTIONS='--live-restore'
改为如下内容:
OPTIONS='--live-restore --exec-opt native.umask=normal'
4.1.2 重载服务
bash 复制代码
systemctl daemon-reload
4.1.3 重启docker服务
bash 复制代码
systemctl restart docker

4.2 方案二 升级docker-engine到docker-engine-18.09.0-202.p02.ky10.x86_64

4.2.1 执行升级命令
bash 复制代码
rpm -Uvh docker-engine-18.09.0-202.p02.ky10.x86_64.rpm
4.2.2 重载服务
bash 复制代码
systemctl daemon-reload
4.2.3 重启docker服务
bash 复制代码
systemctl restart docker

#说明一:runc在docker-engine软件包中自带

#说明二:建议用升级软件包的方式解决,并先行在测试环境测试

#说明三:

相关推荐
AOwhisky29 分钟前
Linux(CentOS)系统管理入门笔记(第二十一期)——防火墙管理(Firewalld)——zone、服务端口、富规则与端口转发
linux·运维·笔记·安全·centos·防火墙
腾飞开源42 分钟前
01_K8s干货笔记之认识K8s
运维·笔记·云原生·容器·kubernetes·k8s·容器化部署
tg_xianheyun7 小时前
CDN节点分布如何影响网页加载速度和用户体验
服务器·cdn加速·全球访问优化
lsh曙光7 小时前
延时at指令和定时cron指令
linux·服务器·网络
圆山猫7 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
布鲁飞丝7 小时前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR1234567887 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
似的8358 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
HiDev_8 小时前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
夏殇之殁9 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript