- Genaue Diagnose von Zugriffsfehlern durch Überprüfung von POSIX-Schichten, ACLs und Sicherheitsmodulen wie SELinux.
- Die korrekte Verwendung von Berechtigungsverwaltungstools wie chmod, chown und dem Dienstprogramm visudo zur Vermeidung von Sicherheitslücken.
- Systemwiederherstellungsmethoden mithilfe von Live-CD oder Boot-Skripten bei Verlust des Superuser-Zugriffs.

Das ist Ihnen sicher auch schon passiert: Sie versuchen, einen Befehl auszuführen, eine Datei zu öffnen oder auf einen Ordner zuzugreifen, und das Terminal zeigt die berüchtigte Fehlermeldung „Zugriff verweigert“ an . Das ist ein frustrierender Moment, besonders wenn man glaubt, die volle Kontrolle über das System zu haben. Linux ist jedoch sehr streng, was die Sicherheit angeht, und lässt Sie nur durch, wenn Sie sich strikt an die Regeln halten.
Die Versuchung loszulassen chmod 777 Es ist eine großartige Übergangslösung, aber ehrlich gesagt, es ist die denkbar schlechteste IdeeDas ist, als würde man mitten in der Stadt die Haustür weit offen stehen lassen; das Zugangsproblem ist zwar gelöst, aber das System ist nun völlig ungeschützt. Idealerweise sollte man die Ursache des Problems verstehen und die passende Lösung anwenden.
Das Berechtigungssystem in Linux verstehen
Um nicht unvorbereitet in die Materie einzusteigen, ist es wichtig zu wissen, dass Linux den Zugriff auf drei verschiedenen Ebenen verwaltet. Da sind zunächst die klassischen POSIX-Berechtigungen : Lesen (r), Schreiben (w) und Ausführen (x) für den Besitzer, die Gruppe und alle anderen. Dann gibt es erweiterte Zugriffskontrolllisten (ACLs), die deutlich feinere Regeln für bestimmte Benutzer ermöglichen, und schließlich obligatorische Sicherheitsmodule wie SELinux in RHEL oder AppArmor in Ubuntu und Debian.
Wenn es um Verzeichnisse geht, gibt es ein Detail, das oft für Verwirrung sorgt: das Ausführungsbit. In einem Ordner bedeutet die Ausführungsberechtigung nicht, dass man ein Programm starten kann; sie erlaubt lediglich die Navigation innerhalb des Verzeichnisses . Ist dieses Bit nicht gesetzt, kann man selbst bei Leseberechtigung für eine interne Datei nicht darauf zugreifen, da der Pfad gesperrt ist.
Die Berechtigungsverwaltung kann auf zwei Arten erfolgen. Symbolische Methoden eignen sich sehr gut für schnelle Änderungen, wie beispielsweise das Hinzufügen der Ausführung mit chmod u+x. Auf der anderen Seite die Oktalform Es ist die präziseste Methode, alles auf einmal zu konfigurieren. Beispielsweise ist 644 der Standard für Textdateien, während 755 typisch für Verzeichnisse und öffentliche Skripte ist, in denen Jeder kann stöbern Aber nur der Besitzer schreibt.
Häufige Blockierungsszenarien und wie man sie behebt
Einer der häufigsten Fehler betrifft SSH-Schlüssel. Sind die Berechtigungen Ihres privaten Schlüssels zu weit gefasst, lehnt der Server Ihre Verbindung aufgrund des Parameters ab. StrictModesDie Lösung besteht darin, den Zugriff so weit wie möglich einzuschränken, üblicherweise durch die Verwendung von chmod 600 so dass nur der Besitzer den Schlüssel lesen kann.
Ein weiteres häufiges Szenario ist, wenn man versucht, in Systempfade wie z. B. zu schreiben. /etc o /var/wwwWenn es sich um eine einmalige Sache handelt, Verwende sudo Das ist richtig. Wenn es sich jedoch um eine Anwendung handelt, die ständig Daten schreiben muss, ist die sauberste Vorgehensweise, die Besitzverhältnisse des Ordners zu ändern. chown damit der Nutzer der Dienstleistung der rechtmäßige Eigentümer ist und dadurch Folgendes vermieden wird Falsche Verwendung des Root-Benutzers in Linux.
Manchmal erhält man selbst als Root die Meldung, dass man keine Berechtigung hat. Dies geschieht üblicherweise, wenn das Dateisystem in einem bestimmten Verzeichnis eingebunden ist. Nur-Lese-Modus (ro) oder wenn die Datei das Attribut „immutable“ besitzt. Im letzteren Fall können Sie den Befehl verwenden. lsattr um es zu diagnostizieren und sudo chattr -i um diesen besonderen Schutz aufzuheben.
Der Kopfzerbrechen bei Fehlern im Schweiß
Sudo ist ein wunderbares Werkzeug, solange man es benutzen kann. Die Datei /etc/sudoers Es ist äußerst heikel. Ein einfacher Syntaxfehler, wie etwa ein Komma an der falschen Stelle oder ein Leerzeichen am falschen Ort, kann folgende Folgen haben: sudo funktioniert nicht mehr vollständig, sodass Sie von Ihrer eigenen Verwaltung ausgeschlossen bleiben.
Um dies zu vermeiden, sollten Sie diese Datei niemals mit einem normalen Texteditor bearbeiten. Das Werkzeug visudo Das ist der Schlüssel, denn prüft die Syntax Bevor Sie die Änderungen speichern. Wenn Sie versuchen, die Bearbeitung zu erzwingen und die Datei dadurch beschädigen, geraten Sie in eine Sackgasse: Sie benötigen sudo, um die Datei zu reparieren, aber Sie können sudo nicht verwenden, da die Datei beschädigt ist.
Neben Syntaxfehlern gibt es auch Besitzfehler. Sudo funktioniert nicht, wenn die Datei /etc/sudoers hat zu offene Berechtigungen (z. B. Schreibzugriff für jedermann) oder wenn Der Besitzer ist nicht rootIn diesen Fällen gibt das System eine Warnung aus, die darauf hinweist, dass die Datei beschädigt ist. Welt beschreibbar oder dass die UID falsch ist.
Wie man wieder Zugriff erhält, wenn alle anderen Versuche fehlschlagen.
Falls Sie zu clever waren und die sudoers-Datei beschädigt haben, ist noch nicht alles verloren. Eine der effektivsten Methoden ist, das System mit einem sudoers-Dateisystem zu starten. Ubuntu Live CDVon dort aus binden Sie Ihre Festplatte ein und navigieren zum entsprechenden Verzeichnis. /etc von Ihrer tatsächlichen Installation und korrigieren Sie die Berechtigungen manuell mit chmod 440 y chown root:root.
In Cloud-Umgebungen wie Google Cloud gibt es eine Alternative mit Startskripten . Sie können Metadaten konfigurieren, die beim Start der virtuellen Maschine einen Befehl ausführen. Dieser Befehl kann die beschädigte sudoers-Datei umbenennen und eine neue, einfache Datei erstellen, die Ihnen eine temporäre Anmeldung ohne Passwort ermöglicht, damit Sie den Schaden mit Visudo beheben können.
Wenn das Problem darin besteht, dass Sie Dateien haben .lock Bearbeitung von Benutzern oder Gruppen blockieren /etc/passwdMöglicherweise müssen Sie diese temporären Dateien aus einer Wiederherstellungsumgebung löschen, damit das System Ihnen wieder administrative Änderungen ermöglicht.
Um ein Zugriffsproblem zu lösen, ist es am klügsten, einer logischen Reihenfolge zu folgen: Beginnen Sie mit der Verwendung von ls -l e id Um herauszufinden, wer wer ist, passen Sie die Teile an mit chmod, korrigieren Sie die Eigenschaft mit chown Und wenn all das nicht funktioniert, überprüfen Sie tieferliegende Ebenen wie zum Beispiel SELinux oder AppArmor Das könnte die Aktion im Hintergrund blockieren und dabei die Tatsache ausnutzen, dass Sie dies bereits wissen. Linux-Geheimnisse und seine Befehle.
Leidenschaftlicher Autor über die Welt der Bytes und der Technologie im Allgemeinen. Ich liebe es, mein Wissen durch Schreiben zu teilen, und genau das werde ich in diesem Blog tun und Ihnen die interessantesten Dinge über Gadgets, Software, Hardware, technologische Trends und mehr zeigen. Mein Ziel ist es, Ihnen dabei zu helfen, sich auf einfache und unterhaltsame Weise in der digitalen Welt zurechtzufinden.
