В 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
наиболее эффективный, с моей точки зрения, выход из сложившейся ситуации — сохранение файлов с данными и переустановка системы.
поведение двух упомянутых программ — это лишь самая верхушка «айсберга», остальные последствия будут обнаруживаться позже, в самые, вероятно, неожиданные моменты. из основных «результатов» можно отметить хотя бы пару: во-первых, ваша система сейчас представляет собой «дырявое решето» (с точки зрения безопасности и защищённости системы), во-вторых, некоторые «демоны» могут либо вообще перестать работать (после перезагрузки), либо работать некорректно.
я лично (считая себя далеко не новичком) исправлять последствия такого «вандализма» даже бы не взялся — это адский кропотливый труд.
Можно ещё поставить систему на соседней виртуалке и сделать автоматическое приведение прав к одному знаменателю простым скриптом.
На виртуалке:
find / |xargs stat -c "chmod %a %n" > /rights-1.txt # Создаёт файл где сохранены права и названия с путем
find / |xargs stat -c "chown %U:%G %n" > /rights-2.txt # Создаёт файл с принадлежностями и путём
Перенести эти файлы на основную систему и просто выполнить:
bash </rights-1.txt
bash </rights-2.txt
Из-под root
chmod 440 /etc/sudoers
Указанная команда не могла нанести такого вреда, по-видимому был ещё ключ -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 на раздел с испорченной системой.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей