Э-э ... это интересная ситуация. sudo требуется, чтобы бинарный файл принадлежал пользователю root и чтобы на нем был установлен флаг setuid (это позволяет ему работать как владелец файла, независимо от того, кто его на самом деле запустил).
Сменив владельца, sudo больше не может запускаться от имени пользователя root и, следовательно, не может выполнять ваши команды от имени пользователя root .
Самый простой способ избавиться от этого -
- Перезагрузите компьютер в однопользовательском режиме
- Скопируйте все ваши важные файлы на USB или внешний диск.
- Переустановите Ubuntu, а затем восстановите ваши файлы.
Как вы узнали, существует ряд системных файлов, которые абсолютно зависят от наличия правильного владельца и правильных разрешений. Например, SSHd откажется запускаться, если закрытый ключ хоста не имеет точно правильных разрешений (я думаю, 0600 и принадлежит root). sudo не может поднять себя, не будучи setuid и принадлежащим root , и я уверен, что есть много других связанных с безопасностью программ, которые не будут работать, если они увидят, что вещи не идеальны.
Через очень утомительную работу можно было бы восстановить некоторые разрешения с помощью внешнего компьютера, но это не веселая задача, и переустановка, вероятно, будет намного проще.