Я сталкиваюсь со странной проблемой при использовании chroot'd 12.04 Ubuntu. Когда я пытаюсь выполнить что-либо с sudo
Я получаю следующую ошибку:
sudo: effective uid is not 0, is sudo installed setuid root?
Если я загружаюсь в той же системе, я - "chroot'ing" к работам sudo как ожидалось. Какова может быть причина этого? Как я могу зафиксировать его?
[user@host /]$ ls -la /usr/bin/sudo
-rwsr-xr-x 1 root root 116928 12.05.2013 08:14 /usr/bin/sudo*
К chroot я использовал это: http://ubuntuforums.org/showthread.php?t=1156240
Не могли бы вы посмотреть, какие все команды вы можете выполнить, используя sudo
.
sudo -l -U YOUR_USERNAME
Если у вас достаточно привилегий, попробуйте выполнить.
chmod u+s /usr/bin/sudo
Надеюсь, это поможет.
Создав chroot из моей текущей установки Ubuntu 12.04, скопировав необходимые файлы, я могу подтвердить, что chroot + sudo действительно работает.
Теперь для вашей проблемы: может быть два решения.
У вас действительно недостаточно прав для / usr / bin / sudo. Это может быть связано с фактическими разрешениями для файла или из-за некоторых проблем с монтированием файловой системы, таких как nosetuid .
Некоторые модули безопасности ядра блокируют бит sudo / setuid в chroot. Это менее вероятно, но есть некоторые модули безопасности, которые могут отключить бит setuid в chroot.
Если вы хотите отладить эту проблему подробно, я предлагаю вам ознакомиться с strace, она покажет вам все системные вызовы, которые выполняет команда sudo, и поможет вам отладить, какой файл или разрешение вызывает Точная проблема. Я написал учебник , возможно, вас это заинтересует.
Выполните следующую команду chmod 4755 /usr/bin/sudo
. По моей вине у вас уже есть правильные настройки, в любом случае, возможно, связанный ответ может помочь. Это может быть проблема, связанная с PolicyKit .
Также взгляните на этот ответ: Как исправить sudo после «chmod -R 777 / usr / bin»?
Удачи!