Итак, я сделал тупое дело ...
Я устанавливал какое-то программное обеспечение (Java SE 7, если вы должен знать) из tarball, и я устал от использования sudo, поэтому я пошел и изменил владельца своего каталога /usr для себя.
$ sudo chown -R sammy /usr
Упс!
Поскольку sudo живет в /usr/bin/, он также изменил владельца. Теперь я больше не могу его использовать. Я случайно попал в Sudo-Catch 22? Я не могу использовать apt-get install или любое количество других существенных функций среды оболочки.
$ sudo
sudo: must be setuid root
Упс!
Человек, вы действительно это сделали, у всех /usr есть почти необходимые бинарные файлы, но сначала разрешите восстановление sudo:
Как root в консоли восстановления, вы должны перемонтировать файловую систему как прочитанную / сначала напишите:
chown root:root /usr/bin/sudo
chmod u+s /usr/bin/sudo
Затем перезагрузитесь и попробуйте войти в систему, если вы получите больше ошибок «Должны быть suid» повторите процесс, используя sudo из tty:
sudo chmod u+s /path/to/the/binary/you/screwed
Be осторожно в следующий раз и попытайтесь использовать -R --recursive с перчатками для детей.