Sudo 在 chroot 中不起作用

Sudo 在 chroot 中不起作用

我希望能够在 chroot 环境中使用 sudo 命令。

我按如下方式启动 chroot:

chroot /debian-squeeze /bin/bash

现在我以 root 身份登录 chroot。我可以su user以名为 的用户身份登录user。现在,sudo不起作用:

user@HD:/$ sudo ls
sudo: must be setuid root

一些诊断:

user@HD:/$ which sudo
/usr/bin/sudo

user@HD:/$ ls -al /usr/bin/sudo
-rwsr-xr-x 2 root root 143884 May 23  2012 /usr/bin/sudo

user@HD:/$ ls -aln /usr/bin/sudo
-rwsr-xr-x 2 0 0 143884 May 23  2012 /usr/bin/sudo

root@HD:/# cat /etc/sudoers
Defaults    env_reset
root    ALL=(ALL) ALL
user ALL=(ALL) ALL
%sudo ALL=(ALL) ALL

作为 root,我可以sudo毫无错误地执行。

谁能解释一下为什么sudo(或setuid) 不起作用?

答案1

我的猜测是,这是在没有或 的/debian-squeeze情况下安装的单独文件系统上。内核将忽略未安装的文件系统上的 setuid 位(暗示)。要解决这个问题:defaultssuidsuiddefaultssuid

mount -o remount,suid /debian-squeeze

相关内容