您的位置:首页 > 娱乐 > 明星 > 银河麒麟高级服务器操作系统V10SP2(X86|ARM)docker-engine软件导致容器umask值为0027而不是0022处理方法

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

2024/12/22 15:00:27 来源:https://blog.csdn.net/weixin_45754407/article/details/139993198  浏览:    关键词:银河麒麟高级服务器操作系统V10SP2(X86|ARM)docker-engine软件导致容器umask值为0027而不是0022处理方法

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

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

一 系统环境

[root@localhost ~]# nkvers 
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Sword)Kernel:
4.19.90-24.4.v2101.ky10.x86_64Build:
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源中。

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文件
vim /etc/sysconfig/docker
将OPTIONS='--live-restore'
改为如下内容:
OPTIONS='--live-restore --exec-opt native.umask=normal'
4.1.2 重载服务
systemctl daemon-reload
4.1.3 重启docker服务
systemctl restart docker

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

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

#说明一:runc在docker-engine软件包中自带
#说明二:建议用升级软件包的方式解决,并先行在测试环境测试
#说明三:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com