为什么 sudo 命令在 chroot 中不起作用?

kat*_*ina 4 sudo chroot

我刚刚安装了一个 32 位的chroot,可以在我的 64 位系统上运行。在chroot环境中,sudo命令不起作用,它说

须藤:找不到命令

此外,当我尝试该su root命令时,我的密码不起作用 ( su: authentication failure)。他们要什么密码?

我对 Ubuntu 很陌生,所以实际上我真的不知道我在做什么。我只是想按照指示去做。


chroot通过以下命令简单地解决了这个特殊问题:

katarina@ubuntu:~$ schroot -c oneiric_i386 -u root
Run Code Online (Sandbox Code Playgroud)

而不是我第一次使用的那个:

katarina@ubuntu:~$ schroot -a
Run Code Online (Sandbox Code Playgroud)

我还有一些其他问题,但我想这不是针对这个问题的。

Rob*_*ans 8

在我看来,问题更多是关于不了解 chroot 的作用。

它将 / 移动到您告诉它的任何位置,因此不再有 /bin、/sbin 或 /usr。

这意味着您将不再拥有 sudo,因为它位于这些目录之一中。


Pen*_*enz 5

您必须在 chroot 环境中安装 sudo:

apt-get install sudo
Run Code Online (Sandbox Code Playgroud)


enz*_*tib 2

当您启动 chroot 环境时,您通常已经是 root,因此不需要使用sudosu root

如果您需要使用非 root 用户帐户,则需要先创建它,然后以该用户身份登录(在 chroot 中)

login myuser
Run Code Online (Sandbox Code Playgroud)

或者

su - myuser
Run Code Online (Sandbox Code Playgroud)

接下来,如果您想让该用户使用sudo,您需要将其添加到adminchroot 组中。