suid 在 docker 容器内不受尊重

问题描述

我在 DockerFile 中下载了 sudo

运行 yum -y update &&
yum -y install which sudo

我已经设置了 suid 位

运行 chown root:root /usr/bin/sudo 运行 chmod 4755 /usr/bin/sudo

在容器中,我看到很多设置了 suid 位的二进制文件

root@89f28b09dee0 go]# ls -la /usr/bin/* | grep rwsr

-rwsr-xr-x 1 root root 73888 2019 年 8 月 9 日 /usr/bin/chage

-rwsr-xr-x 1 root root 78408 2019 年 8 月 9 日 /usr/bin/gpasswd

-rwsr-xr-x 1 root root 44264 2019 年 8 月 9 日 /usr/bin/mount

-rwsr-xr-x 1 root root 41936 2019 年 8 月 9 日 /usr/bin/newgrp

-rwsr-xr-x 1 root root 27856 2019 年 8 月 9 日 /usr/bin/passwd

-rwsr-xr-x 1 root root 32128 2019 年 8 月 9 日 /usr/bin/su

-rwsr-xr-x 1 root root 147320 2019 年 8 月 9 日 /usr/bin/sudo

-rwsr-xr-x 1 root root 31984 2019 年 8 月 9 日 /usr/bin/umount

作为基础映像一部分的其他二进制文件可以正常工作

[test@89f28b09dee0 go]$ passwd 更改用户 test 的密码。 更改密码进行测试。 (当前)UNIX 密码:

但是 sudo 失败了

须藤 sudo:有效 uid 不是 0,是 /usr/bin/sudo 是在设置了“nosuid”选项的文件系统上还是在没有 root 权限的 NFS 文件系统上? [test@89f28b09dee0 去]$

互联网上的大多数搜索都说这可能是因为文件系统权限,但其他二进制文件在设置了 suid 位的同一位置运行良好。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)