Неправильно установлен chmod / 777. Проблемы?

Я пытался запустить chmod -R 777 ./ но в итоге набрал chmod -R 777 / и установил 777 на всю мою машину. Что может пойти не так? Как я могу это исправить?

  • Как я могу оправиться от `chmod -x chmod`?
  • chmod: Что означает параметр `+ a`?
  • Выполните заданную команду на каждом подпути длинного пути
  • Случайно удалено разрешение на выполнение из корневого каталога.
  • Как сделать исполняемый файл из всех файлов, за исключением нескольких типов файлов?
  • Не удалось запустить команду sudo на linux
  • Почему я не могу chmod эти файлы, которые я мог ранее?
  • Выпущен chmod 666 * в домашнем каталоге, проблемы с разрешениями, вызванные всеми файлами
  • 4 Solutions collect form web for “Неправильно установлен chmod / 777. Проблемы?”

    Проблемы? Да, много. Можно ли это исправить? Конечно. Быстрее, чем переустановка? Возможно нет.

    Моя рекомендация – переустановить. Сохраните резервную копию существующей системы и восстановите список пакетов и содержимое файлов в файлах /etc и /var . Для /usr/local вы можете, вероятно, восстановить разрешения вручную. Для /home и /srv вам необходимо восстановить разрешения из резервных копий.

    Если это система с несколькими локальными пользователями, обратите внимание, что некоторые файлы, доступные для чтения в мире, выявили некоторые вещи, которые должны были оставаться конфиденциальными.

    • Список паролей теперь скомпрометирован: у локальных пользователей был доступ к списку хешированных паролей и он мог попытаться переустановить их. Сообщите своим пользователям об этом.
    • Все личные пользовательские данные (ключи ssh, сохраненные пароли, электронная почта, все остальное, что пользователи могут считать конфиденциальными) были открыты для всех локальных пользователей. Сообщите своим пользователям об этом.

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

     chmod -R go-w / chmod 440 /etc/sudoers chmod 640 /etc/shadow /etc/gshadow chmod 600 /etc/ssh/*_key /etc/ssh*key # whichever matches chmod 710 /etc/ssl/private /etc/cups/ssl chmod 1777 /tmp /var/tmp /var/lock chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit chmod 2755 /var/mail /var/spool/mail 

    Затем вам нужно будет восстановить все разрешения везде. Для файлов в каталоге /usr вы можете переустановить пакеты с помощью одной из следующих команд, в зависимости от вашего дистрибутива:

    • Если вы используете Debian, Ubuntu или другой дистрибутив на основе APT, вы можете выполнить apt-get --reinstall install
    • Если вы используете Arch Linux, вы можете выполнить pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman , считая, что вы находитесь на Live CD и ваша установка Arch установлена ​​в /newarch .

    Для файлов под /etc и /var это не будет работать, так как многие из них будут оставлены такими, какие они есть: вам придется реплицировать разрешения на рабочую установку. Для файлов под /srv и /home вам все равно придется восстанавливать резервные копии. Как вы можете видеть, вы можете также переустановить.

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

    Лучший способ – начать с нуля. Этот способ значительно снизит ваш риск и даст вам более чистый результат за меньшее время. Если у вас есть надлежащие резервные копии, это не должно быть слишком сложным опытом.

    Если вы попытаетесь очистить его, основным способом было бы сообщить менеджеру вашего дистрибутива переустановить все в системе, включая перезаписывание файлов конфигурации. Затем используйте любую систему проверки, которую он должен просмотреть, и убедитесь, что ни один из них не помечен как имеющий файлы с разрешениями из обычного. Затем работайте с такими вещами, как домашние каталоги пользователей, и полностью переустановите все на разумные разрешения, а затем выполните несколько действий, которые должны иметь специальные разрешения (например, файлы файлов ssh). Наконец, сделайте полную систему поиска для всего, что обозначено как 777, и просмотрите список (он должен быть небольшим, если вы сделали другие шаги полностью) и проработайте через них один за другим, убедившись, что они должны быть такими, какие они есть.

    РЕШЕНИЕ: Я ИСПЫТАЛ ЭТО В ЦЕНТОСЕ

    Этот парень спас мою работу! (Вам нужно как-то получить доступ)

    http://www.adminlinux.org/2009/07/how-to-restore-default-system.html

    1) Для сброса uids и gids на файлы и каталоги:

     for u in $(rpm -qa); do rpm --setugids $u; done 

    2) Разрешения на файлы и каталоги

     for p in $(rpm -qa); do rpm --setperms $p; done 

    затем измените права на эти файлы:

     # ll /etc/ssh/ # chmod 600 /etc/ssh/ssh_host_rsa_key # chmod 600 /etc/ssh/ssh_host_dsa_key # service sshd restart 

    Некоторые программы, предназначенные для обеспечения безопасности, не будут запускаться, если определенные файлы слишком «свободны» от разрешений. Как сказал @ceving, sshd является наиболее типичным из этого.

    Главное, что может пойти не так, теперь любой пользователь может открывать, читать и писать любые файлы в вашей системе. Две причины, почему это плохо: A) если злонамеренный пользователь получает контроль над вашей системой либо с помощью эксплойта, либо из-за неправильной настройки, он может изменить что-либо в вашей системе сейчас, а B) вы можете удалить все, что захотите, даже если вы не root, так что вы просто отрицаете большую часть защиты от работы с правами root.

    Если вы не создали резервные копии заранее, вы немного в ситуации. Возможно, вы сможете создать сценарий, который «выводит» список разрешений из недавно установленной системы, а затем «применяет» их ко всему в вашей системе. Тем не менее, у меня нет такого сценария.

    Linux и Unix - лучшая ОС в мире.