Получение сообщения "sudo: должно быть setuid root", но sudo уже принадлежит root

Я пытаюсь запустить sudo, и он не работает:

[email protected] $ sudo ls
sudo: must be setuid root
[email protected] $ which sudo
/usr/bin/sudo
[email protected] $ ll /usr/bin/sudo
-rwxr-xr-x 1 root root 165K 2012-05-16 00:25 /usr/bin/sudo*

Какие-нибудь предложения по устранению этого?

Ответ 1

Эта проблема возникает иногда, когда разрешения файла /usr/bin/sudo устанавливаются на 777. Если вы делаете что-то вроде chmod -R 777 /usr/, вы можете это сделать. Это эффективно разрушает судо. Вот решение, если это ваша проблема, и принятый ответ не работает:

Чтобы исправить:

Перезагрузите компьютер, нажмите сдвиг в меню загрузки.

Это должно вызвать меню GNU GRUB (т.е. режим восстановления).

  • Если это не сработает, просто перезапустите среднюю загрузку и выберите режим восстановления при следующем запуске.

Выберите строку, которая начинается с дополнительных опций

Выберите самую верхнюю версию ОС, заканчивающуюся ( "режим восстановления" )

Нажмите enter

В следующем меню перейдите к "Переход к командной строке оболочки"

Введите следующее:

mount -o remount,rw /

mount --all

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

restart

Это должно восстановить sudo privellages.

Ответ 2

Вы должны иметь возможность входа в систему с правами администратора, но если вы можете запустить этот

chmod u+s /usr/bin/sudo

И исправить проблему