2

На Centos 6.5 я случайно набрал

chmod -R 777 /

По электронной почте Ой. Я быстро отпустил CTRL + C, но не раньше, чем он начал работать на пару секунд.

Последствия? Ну уже

su root

не работает (хотя вход через SSH как root есть). Я не уверен, что еще могло быть затронуто.

Любые идеи, как я могу продолжить отсюда? Просто переустановите из резервной копии или я могу сделать что-нибудь умное?

Большое спасибо.


Изменить - то, на что я действительно надеюсь, это немного магии Баш.

  • найти файлы, установленные на 777 за последний час на сервере
  • установите для них значение разрешения, которое должно быть для стандартной установки Centos 6.5

3 ответа3

1

Вы не только изменили права доступа к файлам, но и изменили каталоги и узлы устройств. (Согласно man-странице chmod, chmod никогда не изменяет разрешения символьных ссылок, поэтому, по крайней мере, они безопасны.)

На CentOS 6.x можно найти пакет, который установил определенный файл с

$ rpm -q -f /bin/ls
coreutils-8.4-19.el6.x86_64

а затем найдите исходный режим файла с

$ rpm -q -l -v coreutils | grep /bin/ls
-rwxr-xr-x    1 root    root       109208 Jun 22  2012 /bin/ls

а затем запишите все это вместе с командами find и chmod но это не исправит все и может даже ухудшить ситуацию. Я бы избежал этого, если в этом нет крайней необходимости

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

0

Если вам нужно сохранить систему, я бы предложил:

  1. Найдите затронутые файлы. (Мой вариант chmod входит в каталог и изменяет все файлы, затем рекурсивно вводит каталоги в алфавитном порядке.) Проверьте, что делает ваш chmod -> это позволяет вам изучить точный список файлов, на которые влияют - надеюсь, chmod не достиг ваших данных (/home или /srv).

  2. Установите для всех затронутых файлов значение r - r - r--, для всех файлов, которые выглядят исполняемыми - для r-xr-xr-x, для всех каталогов - для r-xr-xr-x, а для всех узлов /dev / - для другого запущенного linux. Система по вашему выбору выглядит так. (Это много работы!) (Примечание: системы GNU / Linux довольно хорошо работают в режиме только для чтения, но, возможно, некоторые файлы должны быть доступны для записи - если с этого момента сервер больше не запускается: неудача) (Убедитесь, что файлы журнала доступны для записи .)

  3. Переустановите все пакеты (убедитесь, что файлы конфигурации будут сохранены)

  4. Тем не менее, система не одинакова и может иметь серьезные проблемы с безопасностью, производительностью и функциональностью.

Подсказка для рекурсии chmod:

user:/tmp/chmod$ chmod -v -R 777 .
Modus von „.“ als 0777 (rwxrwxrwx) erhalten
Modus von „./a“ als 0777 (rwxrwxrwx) erhalten
Modus von „./a/1“ als 0777 (rwxrwxrwx) erhalten
Modus von „./a/2“ als 0777 (rwxrwxrwx) erhalten
Modus von „./a/1a“ von 0755 (rwxr-xr-x) in 0777 (rwxrwxrwx) geändert
Modus von „./a/1a/g“ von 0644 (rw-r--r--) in 0777 (rwxrwxrwx) geändert
Modus von „./a/2b“ von 0755 (rwxr-xr-x) in 0777 (rwxrwxrwx) geändert
Modus von „./a/2b/h“ von 0644 (rw-r--r--) in 0777 (rwxrwxrwx) geändert
Modus von „./b“ als 0777 (rwxrwxrwx) erhalten
Modus von „./b/1“ als 0777 (rwxrwxrwx) erhalten
Modus von „./b/2“ als 0777 (rwxrwxrwx) erhalten
user:/tmp/chmod$ 
0

Это может решить некоторые из ваших проблем:

find . -type f -perm 777 -exec chmod 644 {} \;
find . -type D -perm 777 -exec chmod 755 {} \;

для некоторых файлов / каталогов

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .