未找到 Amazon Linux 2 su 命令

未找到 Amazon Linux 2 su 命令

尽管我已经使用 Linux 多年,但我仍无法弄清楚以下问题。

我正在使用以下 Docker 映像:

amazoncorretto:11.0.6

当进入该图像时

docker run -ti amazoncorretto:11.0.6

并执行

sudo

我最终

bash-4.2# sudo
bash: sudo: command not found
bash-4.2# 

所以我当然安装了sudo

bash-4.2# yum install sudo

现在我得到了以下结果

bash-4.2# sudo
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file ...
bash-4.2#

这样做很好,但是

bash-4.2# su
bash: su: command not found
bash-4.2#

这就是问题所在。我必须切换用户并尝试类似

sudo -E -u user /bin/sh -c "..."

确实不太令人满意。

我想使用

su -c "..." user

我找不到任何相关的帖子,我很困惑为什么sudo找不到su

我甚至试图找到这个文件,以为它是关于PATH

我最终得到了

bash-4.2# find / -name "sudo"
/var/db/sudo
/usr/libexec/sudo
/usr/bin/sudo
/etc/pam.d/sudo
bash-4.2#

bash-4.2# find / -name "su"
/usr/share/locale/su
bash-4.2#

我们正在讨论亚马逊Linux 2这里。

我将非常感激任何对此提供帮助的!

答案1

起初我尝试替代su

sudo "PATH=$PATH" -E -u user /bin/sh -c "..."

但最终却引发了另一个问题。

这就是为什么我进一步调查为什么su不可用,最后发现我必须安装以下软件包

yum install -y util-linux

此后su即可使用。

相关内容