Versehentlich lief "chown www-data: www-data / -R" als root

26

Ich bin das erst vor ein paar Sekunden durchgegangen. Ich habe es geschafft Ctrl- Csobald mir klar wurde, was ich angefangen habe.

Bisher das einzige Verzeichnis , es wird durch angefangen hat /bin.

Ich habe Angst, etwas anderes zu tun. Bisher wurde mir klar, dass ich nicht mehr suals normaler Benutzer arbeiten kann.

Zum Glück habe ich noch ein Root-Terminal offen. Was mache ich?

Wille
quelle
26
Hört sich an, als hättest du dich dort verschluckt, Kumpel.
ta.speot.is
4
Jetzt wissen Sie, wie wichtig Backups sind. Mach es regelmäßig.
Juliano
Zumindest hat er nicht von root chmod. Das ist eine Katastrophe. Zumindest rm -rf von root gibt Ihnen mehr Speicherplatz und bereitet Sie auf eine vollständige Neuinstallation des Systems vor. Chmod hinterlässt nur ein echtes Durcheinander, das nur durch eine vollständige Neuinstallation des Systems behoben werden kann. Das Gras ist auf beiden Seiten des Zauns braun, oder?
Fiasco Labs

Antworten:

10

Fast alles in / bin / sollte root gehören: root. Wenn Sie also Folgendes ausführen, können Sie den Besitz für diese Dateien korrigieren:

chown root:root -R /bin/ 

Möglicherweise möchten Sie auch sicherstellen, dass das setuid-Bit in / bin / su richtig gesetzt ist. Dies können Sie folgendermaßen beheben:

chmod 4755 /bin/su
epic9x
quelle
1
Unter Ubuntu ist es besonders wichtig, dasselbe mit sudo zu tun. Ich glaube nicht, dass ein root-Passwort auch standardmäßig eingestellt ist? Übrigens würde ich wirklich empfehlen, statt Root-Shells Sudo zu verwenden. Die halbe Sekunde, die für die Eingabe von sudo benötigt wird, stoppt normalerweise solche Fehler in den Spuren. Nur in einer Root-Shell zu arbeiten, ist leichter zu übersehen ...
Bernd Haug
4
paste.ubuntu.com/362468 ist ein "ls -l / bin" von meinem Ubuntu 9.10-Desktop. Ich habe möglicherweise nicht genau die gleichen Dateien wie Sie installiert, aber es sollte Ihnen zumindest einen guten Hinweis geben, welche Dateien spezielle Berechtigungen benötigen.
Andol
@Bernd: Obwohl ich nicht so viel Admin-Arbeit mache, ist mir aufgefallen, dass ich weniger dumme Sachen mache als ich als root. Ich werde möglicherweise nie wieder ein root-Passwort verwenden. (Und nein, unter Ubuntu gibt es kein Standard-Root-Passwort, und ich glaube,
David Thornley
@David: Unter OS X gibt es definitiv kein Standard-Root-Passwort, und das Festlegen eines Passworts ist meistens ein Fehler, IMO. Es gibt fast immer einen anderen, besseren Weg. Das Problem ist, dass Macs nicht zu sicher sind. Ich erwarte eine Menge Spaß, sobald sie eine größere Installationsbasis haben, um RKs, Virii, Botnet-Clients & c rentabel zu machen.
Bernd Haug
36

Redhat-Benutzer:

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids

Debian / Ubuntu-Benutzer:

chown 0:0 /bin/*  /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen

Tun Sie dies mindestens zweimal, während der Bildschirm ausgeführt wird:

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --

Achten Sie sehr genau auf die Ausgabe, da Sie sie in einem anderen Bildschirmfenster korrigieren sollten, wenn sie sich über falsche Berechtigungen beschwert.

Crashkurs im Bildschirm:

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"

Solaris-Benutzer:

Du bist gefickt.

pkgchk -R / -f -a

setzt alle Berechtigungen zurück, aber die Einstellungen bleiben fehlerhaft. Verwenden Sie ein Backup oder eine andere Solaris-Maschine, um nach setuid / setgid-Skripten und -Dateien zu suchen und diese manuell zu reparieren.

DAS WICHTIGE ÜBER BACKUPS

Ist das, dass Sie sie wiederherstellen können, nicht, dass Sie sie nehmen.

Andere Leute haben dir geraten, Backups zu machen, aber ich möchte hinzufügen, dass du sie testen solltest. Wenn Sie ein Unixish-System verwenden, gibt es keinen Grund , warum Sie die Dateien nicht regelmäßig auf einem anderen Computer sichern und sicherstellen können, dass alles funktioniert.

Geocar
quelle
FreeBSD User: würde niemals einen
solchen
10
@einstiien Ja, FreeBSD-Benutzer gehen direkt auf die rm -rfBühne.
Grawity
@grawity: lol, gut.
einstiien
Arme Solaris-Benutzer :(
Mircea Chirea
3

Beachten Sie, dass die set-uid-Flags in den betroffenen Binärdateien möglicherweise ebenfalls entfernt wurden. Dies ist ein Sicherheitsmerkmal von chown. Erkundigen Sie sich bei einem anderen System, welche Binärdateien die Flags set-uid oder set-gid enthalten, und stellen Sie sicher, dass Sie diese auch auf Ihren Binärdateien festlegen.

Teddy
quelle
3

Ich wollte die Details der Verwendung von RPM zum Zurücksetzen von Dateiberechtigungen erläutern, habe jedoch eine Website mit viel mehr Informationen gefunden . Es wird auch erwähnt, dass Ubuntu / Debian (also .debs im Allgemeinen) dies nicht unterstützen.

Aber im Allgemeinen würde die Option, die Sie suchen, in etwa so aussehen:

rpm --setugids {packagename}
Coops
quelle
Dies ist auf einem Ubuntu-System, wie durch die Tags angezeigt. Dies bedeutet, dass dpkg und .DEBs anstelle von rpm und .RPMs verwendet werden
Kevin M
2

Wenn dies ein Debian-System wäre, würde ich alles neu installieren.

ptman
quelle
0

Hast du ein funktionierendes Backup? Wenn ja, stellen Sie Ihren Bin-Ordner wieder her.

ansonsten sieh dir eine andere Box an, in der du die gleiche Ubuntu-Version installiert hast und chownwas du in der funktionierenden Installation findest.

Christian
quelle
0

versuche dies: finde alle www-daten im / bin verzeichnis

# find /bin -user www-data

Ändern Sie dann die WWW-Daten wieder auf den ursprünglichen Benutzer

# find /bin -user www-data -exec chown ORiginalUser {} \;

# then change www-data back to oringal group
# find /bin -group www-data -exec chgrp originaluser {} \;
Squillman
quelle
0

Vielen Dank für die tollen Antworten, alles scheint jetzt behoben zu sein.

/ bin / su funktionierte einmal auf 4755 chmod'd (nicht sicher, warum chown das suid-Bit geändert hat)

Ich habe nicht bemerkt, aber es begann auch die Arbeit durch das / home-Verzeichnis, aber das war eine einfache Lösung (setzen Sie einfach Benutzer: Gruppe an den Benutzer für jedes Verzeichnis)

Wille
quelle