1

我在 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 根 73888 2019 年 8 月 9 日 /usr/bin/chage

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

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

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

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

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

-rwsr-xr-x 1 根 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 sudo:有效的 uid 不是 0,/usr/bin/sudo 是在设置了“nosuid”选项的文件系统上还是在没有 root 权限的 NFS 文件系统上?[test@89f28b09dee0 去]$

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

4

0 回答 0