Как восстановить права доступа chown по умолчанию для каталога / файла? [дубликат]

Я использую Ubuntu 13.04 x86_64.

Я хотел хранить все в своем домашнем каталоге. Итак, я выполнил эти две команды.

sudo chown -RcH rootkea ~  
sudo chown -RcL rootkea ~

Теперь из-за этих символических ссылок, связанных с некоторыми другими файлами в файловой системе, я случайно получил файлы, которые находятся за пределами моего домашнего каталога.
Непосредственные последствия, которые я заметил:

  1. sudo не работает

     $ sudo 
    sudo: эффективный uid не равен 0, установлено ли sudo setuid root? {{1} } 
  2. система стала такой медленной. Он просто зависает, когда я нажимаю выключение / перезагрузку. Каждый раз мне приходится вручную выключать машину.
  3. создает файл журнала / 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: //) ушел, повторная попытка! 
     

Итак, ясно чашки Программа тоже прикручена.

Теперь я понятия не имею, сколько других программ перешли в непригодное для использования состояние.

Есть ли способ отменить действие двух вышеупомянутых команд?
Как я могу восстановить настройки разрешений по умолчанию для всей файловой системы?

5
задан 27 May 2013 в 13:12

1 ответ

Как gertvdijk предлагает (со ссылкой на этот вопрос ), переустановка - это почти всегда лучший и самый простой способ исправить это (и единственный способ, который вы можете быть уверены, это полностью исправить это), особенно если вы не знаете точно, где были изменены разрешения или с чего они были изменены.

Этот метод , который частный предложил , может сработать, и вы можете подумать, что стоит попробовать. Тем не менее, существует несколько вариантов в зависимости от версии, где находятся файлы и папки и какими должны быть их права доступа и права доступа. Более того, с любым решением, кроме переустановки, вы никогда не узнаете, есть ли какие-либо файлы или папки с неправильными разрешениями, которые могут в какой-то момент в будущем вызвать проблемы.

Обычно вы можете исправить - или, по крайней мере, добиться прогресса - проблему sudo, которая не работает (т. Е. Проблему 1, как вы ее перечислили), зафиксировав ее принадлежность:

pkexec chown root:root /usr/bin/sudo
[ 1116] В такой ситуации, как ваша, это в основном полезно для удобства, чтобы упростить выполнение любых административных задач, которые необходимо выполнить перед переустановкой. (Или перед попыткой применить более сложное решение.) Резервное копирование определенно будет в порядке, если ваши резервные копии важных файлов (например, документов) не полностью обновлены.

Наконец, обратите внимание, что только право собственности , а не разрешения , были изменены. Таким образом, вы можете попробовать рекурсивно изменить владельца каталогов обратно на root. Однако это вряд ли решит проблему, потому что:

  • неясно, точно ли вы знаете, какие каталоги были изменены.
  • некоторые файлы не должны принадлежать пользователю root, поскольку к ним должны обращаться менее привилегированные части системы; слишком ограничительная установка их прав собственности или разрешений может привести к поломке системы.
  • Некоторые файлы могут вызывать уязвимости безопасности, если они принадлежат пользователю root. Исполняемый файл setuid всегда запускается как пользователь, которому он принадлежит. Ваша система может содержать исполняемые файлы setuid, которые должны всегда запускаться от имени не привилегированного пользователя; заставить их работать от имени root может быть плохо. Или кто-то может - преднамеренно или непреднамеренно - создать файл setuid (не имея прав, чтобы сделать его владельцем root). Если вы сделаете его владельцем root, он будет выполняться от имени root, независимо от того, кто его запускает. Это может быть очень плохо.

Итак, если это производственная система, вам просто нужно переустановить.

0
ответ дан 27 May 2013 в 13:12

Другие вопросы по тегам:

Похожие вопросы: