2016-05-11 4 views
0

я сделал очень раздражающую ошибку в скрипте ... Лини должны изменить права доступа рекурсивно на папку:Как исправить разрешения после chmod -r 777 /?

chmod -R 777 $folder/ 

Вещь переменная не была установлена, поэтому он побежал вместо:

chmod -R 777/

Да глупо. Проблема в настоящее время я не могу использовать sudo больше, я получаю сообщение:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set 
  1. Есть ли способ восстановить права доступа?
  2. Если нет, есть ли способ сделать резервную копию моего Ubuntu 14.04 (работает на VirtualBox)?
  3. Если нет, как я могу сохранить важные данные?
+0

* * Вы не можете исправить это (https://serverfault.com/q/364677/313521) без переустановки. ** – Wildcard

ответ

1

Я наконец нашел решение!

Выпуск объяснил

Когда я изменил рекурсивно разрешения на корневую папку / Я также изменил разрешения на /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 

Теперь вы можете запустить неподвижную виртуальную машину с рабочим Суды ...

+0

Это будет ** не ** позволять вам исправить все. [Период.] (Https://serverfault.com/q/364677/313521) – Wildcard