Я случайно запустил «chmod 775 -R /» вместо «chmod 775 -R ./» и изменил разрешения для всего, и теперь сервер сломался.
Кто-нибудь знает, как я могу быстро это исправить ???
Если это дистрибутив на основе RPM, вы можете использовать следующую команду для сброса разрешений на значения по умолчанию для RPM:
rpm --setperms $ (rpm -qa)
По крайней мере, это поможет вам начать путь.
У вас есть резервные копии, да? Надеюсь, те, которые включают как файлы, так и метаданные файловой системы? Если бы это произошло в моей среде, я бы скопировал вчерашнюю резервную копию на свежие диски и загрузился бы на них. Надеюсь, что это работает для вас!
Это не очень поможет, если вы не знали об этом или не использовали его раньше, но вы можете сделать резервную копию разрешений с возможностью восстановления. Видеть Резервное копирование разрешений в Linux
Сам наткнулся на это. По сути, вы могли бы установить ту же версию ОС или еще лучше, если у вас установлена другая система с той же ОС, и она все еще не повреждена, выполните ls -al
инвентаризация всех файлов, затем прогоните его через сценарий, чтобы вернуть им те же разрешения. Для этого вы можете использовать ассоциативные массивы, сохраняя известные разрешения, а затем перечитывая их, чтобы установить их на задействованном хосте.
В этом посте есть скрипт для этого с некоторым кодом: Проблемы с разрешениями и случайный запуск chmod 0: