GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Chmod / 777 falsch eingestellt. Probleme?

Ich habe versucht, chmod -R 777 ./ auszuführen aber am Ende habe ich chmod -R 777 / eingegeben und setzen Sie 777 auf meiner gesamten Maschine. Was kann schon schief gehen? Wie kann ich es beheben?

Akzeptierte Antwort:

Probleme? Ja, viele. Kann es repariert werden? Sicher. Schneller als Neuinstallation? Wahrscheinlich nicht.

Meine Empfehlung ist eine Neuinstallation. Erstellen Sie eine Sicherungskopie des vorhandenen Systems und stellen Sie die Paketliste und den Inhalt der Dateien in /etc wieder her und /var . Für /usr/local , können Sie Berechtigungen wahrscheinlich manuell wiederherstellen. Für /home und /srv , müssen Sie die Berechtigungen aus Sicherungen wiederherstellen.

Wenn dies ein System mit mehreren lokalen Benutzern ist, beachten Sie, dass einige Dateien, die weltweit lesbar sind, einige Dinge enthüllt haben, die vertraulich bleiben sollten.

  • Ihre Passwortliste ist jetzt kompromittiert:Lokale Benutzer hatten Zugriff auf die gehashte Passwortliste und könnten versuchen, sie brutal zu erzwingen. Informieren Sie Ihre Benutzer darüber.
  • Alle privaten Benutzerdaten (SSH-Schlüssel, gespeicherte Passwörter, E-Mail, was auch immer andere Benutzer als vertraulich betrachten) wurden allen lokalen Benutzern offengelegt. Informieren Sie Ihre Benutzer darüber.

Wenn Sie wirklich eine Reparatur versuchen möchten (eher eine Lernübung als ein praktischer Wiederherstellungsweg), stellen Sie zuerst die Berechtigungen einiger Dateien wieder her. Beachten Sie, dass, obwohl die meisten Dateien jetzt zu offen sind, einige notwendige Setuid-Bits fehlen. Hier sind Schritte, die Sie vor allem anderen unternehmen sollten. Beachten Sie, dass dies keine vollständige Liste ist, sondern nur ein Versuch, das System kaum funktionsfähig zu machen.

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

Dann müssen Sie alle Berechtigungen überall wiederherstellen. Für Dateien unter /usr , können Sie die Pakete abhängig von Ihrer Distribution mit einem der folgenden Befehle neu installieren:

  • Wenn Sie Debian, Ubuntu oder eine andere auf APT basierende Distribution verwenden, können Sie apt-get --reinstall install ausführen
  • Wenn Sie Arch Linux verwenden, können Sie pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman , vorausgesetzt, Sie befinden sich auf einer Live-CD und Ihre Arch-Installation ist unter /newarch gemountet .

Für Dateien unter /etc und /var , das wird nicht funktionieren, da viele von ihnen so bleiben wie sie sind:Sie müssen die Berechtigungen auf einer funktionierenden Installation replizieren. Für Dateien unter /srv und /home , müssen Sie sowieso aus Backups wiederherstellen. Wie Sie sehen können, können Sie genauso gut neu installieren.

Verwandte:Wie kann man alle Prozesse beenden, die dem „Benutzer“ auf Centos 7 gehören?
Linux
  1. Richten Sie CORS in Cloud Files ein

  2. Wie setze ich Passwort-Zip-Dateien mit Command in allen Betriebssystemen?

  3. .o-Dateien vs. .a-Dateien

  4. Wie setze ich nginx max offene Dateien?

  5. Wie chmod und chown versteckte Dateien in Linux?

So ändern Sie die Dateiberechtigungen in Linux rekursiv

Was bedeutet chmod 777

Erfahren Sie, wie Sie Berechtigungen für Dateien und Ordner ändern

Dropbox für einen Linux Cloud Server eingerichtet

Erteilen Sie Ausführungsberechtigungen für Verzeichnisse, aber nicht für Dateien

Warum ist chmod -R 777 / destruktiv?