На этот вопрос уже есть ответ здесь:
Я использую Ubuntu 13.04 x86_64.
Я хотел хранить все в своем домашнем каталоге. Итак, я выполнил эти две команды.
sudo chown -RcH rootkea ~
sudo chown -RcL rootkea ~
Теперь из-за этих символических ссылок, связанных с некоторыми другими файлами в файловой системе, я случайно получил файлы, которые находятся за пределами моего домашнего каталога.
Непосредственные последствия, которые я заметил:
sudo не работает
$ sudo
sudo: эффективный uid не равен 0, установлено ли sudo setuid root? {{1} }
создает файл журнала / var / log / cups / error_log
неопределенного размера, который занимает последний байт моего жесткого диска (по прошествии значительного времени). В прошлый раз было 17,8 Гб!
Содержимое файла состояло только из этих двух повторяющихся строк, которые неисчислимо повторяются:
E [24 / May / 2013: 02: 27: 52 +0530] File "/ usr / lib / cups / notifier / dbus "имеет небезопасные разрешения (0100755 / uid = 1000 / gid = 0).
W [24 / May / 2013: 02: 27: 52 +0530] Уведомитель для подписки 531 (dbus: //) ушел, повторная попытка!
Итак, ясно чашки Программа
тоже прикручена.
Теперь я понятия не имею, сколько других программ перешли в непригодное для использования состояние.
Есть ли способ отменить действие двух вышеупомянутых команд?
Как я могу восстановить настройки разрешений по умолчанию для всей файловой системы?
Как gertvdijk предлагает (со ссылкой на этот вопрос ), переустановка - это почти всегда лучший и самый простой способ исправить это (и единственный способ, который вы можете быть уверены, это полностью исправить это), особенно если вы не знаете точно, где были изменены разрешения или с чего они были изменены.
Этот метод , который частный предложил , может сработать, и вы можете подумать, что стоит попробовать. Тем не менее, существует несколько вариантов в зависимости от версии, где находятся файлы и папки и какими должны быть их права доступа и права доступа. Более того, с любым решением, кроме переустановки, вы никогда не узнаете, есть ли какие-либо файлы или папки с неправильными разрешениями, которые могут в какой-то момент в будущем вызвать проблемы.
Обычно вы можете исправить - или, по крайней мере, добиться прогресса - проблему sudo
, которая не работает (т. Е. Проблему 1, как вы ее перечислили), зафиксировав ее принадлежность:
pkexec chown root:root /usr/bin/sudo
[ 1116] В такой ситуации, как ваша, это в основном полезно для удобства, чтобы упростить выполнение любых административных задач, которые необходимо выполнить перед переустановкой. (Или перед попыткой применить более сложное решение.) Резервное копирование определенно будет в порядке, если ваши резервные копии важных файлов (например, документов) не полностью обновлены.
Наконец, обратите внимание, что только право собственности , а не разрешения , были изменены. Таким образом, вы можете попробовать рекурсивно изменить владельца каталогов обратно на root. Однако это вряд ли решит проблему, потому что:
Итак, если это производственная система, вам просто нужно переустановить.