Я наконец нашел решение!
Выпуск объяснил
Когда я изменил рекурсивно разрешения на корневую папку /
Я также изменил разрешения на /usr/bin/sudo
. Чтобы увидеть его разрешения я напечатал:
ls -la /usr/bin/sudo
Это дает мне:
-rwxrwxrwx 1 root root 127668 2016-05-11 12:01 /usr/bin/sudo
Вместо:
-rwsr-xr-x 1 root root 127668 2016-05-11 12:01 /usr/bin/sudo
Здесь сек из -rw сек г-xr- x важно, поскольку он предоставляет временные разрешения пользователю запускать sudo с разрешениями владельца файла (т. е. root в этом случае) r что пользователь, который его запускает.
Посмотрите на эту статью для получения дополнительной информации: http://www.linuxnix.com/suid-set-suid-linuxunix/
Решение было бы изменить разрешения на /usr/bin/sudo
:
chmod 4755 /usr/bin/sudo
Но я должен быть корень, чтобы изменить права доступа .. Ну, к счастью, я запускал Ubuntu на виртуальной машине.
Решение
Решение состоит в том, чтобы создать новую виртуальную машину. Как только это будет сделано, на моей новой виртуальной машине установите мой сломанный ubuntu .vdi с VirtualBox. Настройки -> Хранение -> Добавить жесткий диск. Убедитесь, что первый жесткий диск - это ваша новая виртуальная машина, чтобы он загружался на новой виртуальной машине.
Как только это сделано, вы можете изменить разрешение SUDO на жестком диске, установленный (сломанный Ubuntu):
sudo chmod 4755 /mnt/XXXXX/usr/bin/sudo
Теперь вы можете запустить неподвижную виртуальную машину с рабочим Суды ...
* * Вы не можете исправить это (https://serverfault.com/q/364677/313521) без переустановки. ** – Wildcard