Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Исправление последствий “chmod 777 /”

#linux #sudo #chmod


В ubuntu 14 4 выполнил chmod 777 /, после чего перестали выполняться su и sudo -s.

Как это исправить?

$ su 
operation not permitted

$ sudo -s
/etc/sudoers is world writable
no valid sudoers souces found, quitting
unable to initialize policy plugin

    


Ответы

Ответ 1



наиболее эффективный, с моей точки зрения, выход из сложившейся ситуации — сохранение файлов с данными и переустановка системы. поведение двух упомянутых программ — это лишь самая верхушка «айсберга», остальные последствия будут обнаруживаться позже, в самые, вероятно, неожиданные моменты. из основных «результатов» можно отметить хотя бы пару: во-первых, ваша система сейчас представляет собой «дырявое решето» (с точки зрения безопасности и защищённости системы), во-вторых, некоторые «демоны» могут либо вообще перестать работать (после перезагрузки), либо работать некорректно. я лично (считая себя далеко не новичком) исправлять последствия такого «вандализма» даже бы не взялся — это адский кропотливый труд.

Ответ 2



Можно ещё поставить систему на соседней виртуалке и сделать автоматическое приведение прав к одному знаменателю простым скриптом. На виртуалке: find / |xargs stat -c "chmod %a %n" > /rights-1.txt # Создаёт файл где сохранены права и названия с путем find / |xargs stat -c "chown %U:%G %n" > /rights-2.txt # Создаёт файл с принадлежностями и путём Перенести эти файлы на основную систему и просто выполнить: bash

Ответ 3



Из-под root chmod 440 /etc/sudoers

Ответ 4



Указанная команда не могла нанести такого вреда, по-видимому был ещё ключ -R. Можно переустановить все установленные пакеты, при этом восстановятся и права, кроме файлов и каталогов не относящихся к пакетам. Для систем с дебиановским менеджером пакетов: # apt-get --reinstall install `dpkg --get-selections | grep install | grep -v deinstall | cut -f1` Если при этом будет невозможно переустановить какие-то пакеты, их можно пропустить добавив имена в фильтр: # apt-get --reinstall install `dpkg --get-selections | grep install | grep -v deinstall | cut -f1 | egrep -v '(package1|package2)'` Источник: http://hyperlogos.org/page/Restoring-Permissions-Debian-System Если в систему нельзя войти как root, придётся загрузиться с флэшки. и сделать chroot на раздел с испорченной системой.

Комментариев нет:

Отправить комментарий