Wie behebt man "/etc/sudoers is world writable" Oracle Cloud Linux Server?
Ich habe
sudo chmod 777 -R /etc/
auf meinem Linux Server ausgeführt.
Jetzt kann ich weder via FileZilla oder PuTTY connecten.
Ich habe den Befehl nur verwendet, da es mich genervt hat ständig einzelnen Dateien permissions zu erteilen nur um sie in FileZilla bearbeiten zu können.
Nun hat sich herausgestellt, dass das nicht besonders klug war und somit viele Sicherheitslücken & Probleme entstehen können.
Ich würde es gerne rückgängig machen, habe aber keine Idee mehr wie Ich es noch versuchen sollte, da ich Im Oracle Cloud Dashboard weder Cloud Shell verwenden kann (da es ein Passwort anfordert welches ich nicht habe, weil ich es nie erstellt oder erhalten habe) noch das ich die Instanz im recovery Modus starten kann (da ich keine Option sehe dies zu tun).
Kann mir vielleicht jemand weiterhelfen? Es wäre gut wenn ich die Instanz nicht neu aufsetzen muss, denn Ich brauche einige Dateien noch.
3 Antworten
Grundsätzlich werden die meisten Ordner 755 gehabt haben, die meisten Dateien 644.
Das kannst du wie folgt machen:
find /etc -type f -exec chmod 644 {} +
find /etc -type d -exec chmod 755 {} +
Das kann gewisse Dinge schon mal beheben, aber nun mal nicht alles.
Gewisse Dateien und Ordner haben spezielle Permissions, bspw. die genannte /etc/sudoers, welche 400 hat. Ebenfalls wichtig wäre /etc/shadow, die hat 600.
Am besten gleichst du das mit einer frischen Installation ab und findest diese Sonderfälle.
Wenn aber gerade von frischen Installationen sprechen: Das wäre wohl die einfachste und schnellste Lösung. Falls das für dich keine Option ist, musst du durch die obigen Schritte durch. Ohne Backup gehts nicht anders.
Das hier schon versucht? https://docs.oracle.com/en-us/iaas/Content/Compute/Tasks/recoveringlinuxbootvolume.htm
Kenne mich mit der Oracle Cloud nicht aus, hier lese ich aber, dass es die Möglichkeit gibt, das Volume in einer zweiten Instanz zu mounten. Da kannst du ggf. noch auf die Daten zugreifen und (wenn du willst) die Permissions von /etc ändern.
Die serial console funktioniert nicht mit dem Fehlercode: connection refused
weißt du was man da machen kann?
Geile Idee der ganzen Welt Lese- und Schreibrechte auf Systemdateien zu geben.
Diese Dateien bearbeitet man auschließlich mit Root-Rechten!!! Die holt man sich mit
sudo su
oder
su root
oder
su -
Die Unterschiede dieser Methoden kannst Du im Internet nachlesen, ist aber für das folgende nicht kritisch.
Um die Rechte wieder geradezurücken sollten folgende Befehle helfen:
find /etc -type d -exec chmod 755 {} \;
find /etc -type f -exec chmod 644 {} \;
Die erste Zeile setzt die Rechte der Verzeichnisse auf den Standard 755 zurück und die zweite Zeile bereinigt die Dateirechte auf den Standard 644.
Weiteres dazu wie man find und chmod kombiniert findest Du hier:
wie benutze ich die commands denn, wenn ich keinen zugriff auf putty oder cloud shell habe?