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

Grundlegende Linux-Verzeichnisberechtigungen und wie man sie überprüft

Dieser Artikel erklärt die grundlegenden Arten von Verzeichnisberechtigungen, wie sie funktionieren und wie sie überprüft werden.

Was sind Verzeichnisberechtigungen und wie werden sie angewendet?

In Linux® ist ein Verzeichnis ein Ordner, in dem Sie Dateien speichern. Jede Datei oder jedes Verzeichnis gibt an, welche Benutzer darauf zugreifen können. In diesem Artikel wird erläutert, wie Sie Berechtigungen festlegen und möglicherweise außer Kraft setzen.

Beispiele zum Überschreiben:

  • Wenn Sie ein chrooted/eingesperrter sind Als Benutzer können Sie nur auf die Dateien oder Verzeichnisse zugreifen, in denen Sie eingesperrt sind.
  • Wenn Sie sudo/root haben -Level-Berechtigungen können Sie die Datei- oder Verzeichnisberechtigungen umgehen.

Dateien und Verzeichnisse auflisten

Dieser Abschnitt enthält Beispiele für Linux-Listenoperationen.

  • Nur die Namen von Dateien und Verzeichnissen auflisten:

    # ls
    
  • Listen Sie die Dateien und Verzeichnisse mit vielen weiteren Informationen auf:

    # ls -l
    # ll
    
  • Listen Sie die Dateien und Verzeichnisse auf und zeigen Sie alle versteckten Dateien:

    # ls -a
    

    Hinweis: Die versteckten Dateien sind oft Konfigurationsdateien, die das System versteckt, um sie zu schützen.

  • Listen Sie die Dateien und Verzeichnisse mit viel mehr Informationen und mit den Größen in KB oder GB anstelle von Bits auf:

    # ls -lh
    

Ergebnisse verstehen

Wenn Sie -l verwenden , sollte jede Datei oder jedes Verzeichnis die folgenden Informationen enthalten:

drwxr-xr-x. jdoe Apache 3864 8. Mai 2021 Meine Sachen
Berechtigungen Eigentümer des Benutzers Gruppeninhaber Größe in Bits. Verwenden Sie -h, um in KB/GB zu konvertieren Zuletzt bearbeitet Name

Berechtigungshinweis :Wenn es ein d gibt Am Anfang ist es ein Verzeichnis, nota file.

Hier ist eine ausführlichere Anleitung zur Verwendung von ls Befehl.

Benutzer, Gruppe, Sonstiges

Jede Datei und jedes Verzeichnis hat drei Arten von Benutzerberechtigungen, die es erkennt:

  • Der Benutzer, der als Benutzereigentümer festgelegt ist .
  • Alle Benutzer in der Gruppe, die als Gruppeninhaber festgelegt sind .
  • Jeder, der nicht zu den ersten beiden Kategorien gehört, wird als Andere bezeichnet .

Eine gängige Gruppe auf Linux-Servern ist apache , sodass Sie jeden, der an den Websites arbeitet, zum apache hinzufügen können Gruppe. Sie haben dann den erforderlichen Zugriff auf alle Website-bezogenen Dateien und Verzeichnisse.

  • Ändern Sie den Benutzereigentümer einer Datei oder eines Verzeichnisses:

    # chown <user>: /MyStuff
    
  • Ändern Sie den Gruppeneigentümer einer Datei oder eines Verzeichnisses:

    # chown :<group> /MyStuff
    
  • Ändern Sie den Benutzereigentümer + Gruppeneigentümer einer Datei oder eines Verzeichnisses:

    # chown <user>:<group> /MyStuff
    
  • Ändern Sie den Benutzereigentümer und Gruppeneigentümer einer Datei oder eines Verzeichnisses und alles darin:

    Wichtig: Seien Sie vorsichtig mit diesem Befehl, da Sie mehrere Dateien ohne Rückgängig-Option ändern.

    # chown -R <user>:<group> /MyStuff
    

Lesen, schreiben, ausführen

Nachdem eine Datei oder ein Verzeichnis Sie als Benutzereigentümer, Gruppeneigentümer oder eine andere Person erkennt, weist sie eine Kombination der folgenden Berechtigungen zu:

  • r :Mit der Leseberechtigung können Sie die Datei oder das Verzeichnis anzeigen oder lesen.
  • w :Mit der Schreibberechtigung können Sie die Datei oder das Verzeichnis schreiben oder ändern.
  • x :Mit der Ausführungsberechtigung können Sie eine ausführbare Datei ausführen oder ein Verzeichnis durchsuchen.

Jeder Benutzerberechtigung werden diese der Reihe nach zugewiesen, wobei ein - stellt dar, dass die Berechtigung fehlt. Die folgende Tabelle erläutert beispielsweise die Berechtigungen rwxr-xr– :

rwx r-x r--
Der erste Teil, Benutzer-Inhaber-Berechtigungen Der zweite Teil, Gruppenbesitzerberechtigungen Der dritte Teil, Andere Berechtigungen
lesen, schreiben, ausführen lesen, ausführen lesen
Dieser Benutzer kann alles tun Dieser Benutzer kann die Datei ansehen und ausführen. Aber nicht ändern Dieser Benutzer kann es nur ansehen

Das folgende Bild bietet eine einfache Möglichkeit, dies zu visualisieren:

So ändern Sie Berechtigungen mit Buchstaben

  • Datei- oder Verzeichnisberechtigungen ändern:

    # chmod ugo+-=rwx /MyStuff
    
    • Verwenden Sie eine beliebige Kombination von ugo Benutzer, Gruppe, Sonstiges darstellen.
    • Verwenden Sie eine beliebige Kombination aus +-= um das Hinzufügen, Entfernen oder Ändern der aktuellen Berechtigungen zu den angegebenen Berechtigungen darzustellen.
    • Verwenden Sie eine beliebige Kombination von rwx um Lesen, Schreiben, Ausführen darzustellen.
  • Geben Sie Lesen Berechtigungen für andere :

    # chmod o+r /MyStuff
    
  • Entfernen Sie ändern und ausführen Berechtigungen für Gruppe und andere :

    # chmod go-wx /MyStuff
    

Das folgende Diagramm hilft bei der Veranschaulichung dieses Konzepts:

Ihr Benutzer + r lesen
g-Gruppe - w schreiben
oder andere = x ausführen

Hinweis: chmod kann auch -R verwenden alle Dateien und Verzeichnisse innerhalb dieses Verzeichnisses rekursiv zu ändern. Gehen Sie wie zuvor mit Vorsicht vor, da es keine Option zum Rückgängigmachen gibt.

So ändern Sie Berechtigungen mit Zahlen

  • Datei- oder Verzeichnisberechtigungen ändern:

    # chmod 777 /MyStuff
    

Diese Methode verwendet Mathematik, bei der Sie die Werte jeder Berechtigung addieren, um ein dreistelliges Endergebnis zu erhalten:

  Ihr Benutzer g-Gruppe andere
r read =4
write =2
x ausführen =1
  • Geben Sie rwxr-xr– Berechtigungen:
  Ihr Benutzer g-Gruppe andere
r read =4
write =2
x ausführen =1
  4+2+1 =7 4+1 =5 4

Verwenden Sie den folgenden Befehl:

# chmod 754 /MyStuff

Hinweis: chmod kann auch -R verwenden alle Dateien und Verzeichnisse innerhalb dieses Verzeichnisses rekursiv zu ändern. Gehen Sie wie zuvor mit Vorsicht vor, da es keine Option zum Rückgängigmachen gibt.

Hier ist eine ausführlichere Anleitung zur Verwendung von chmod

WARNUNG: Verwenden Sie nicht chmod 777 es sei denn, Sie sind sicher, es ist in Ordnung. Linux verfügt standardmäßig über starke Sicherheitsmaßnahmen. Einige Konfigurationsdateien sind jedoch nicht dazu bestimmt, von irgendjemandem geändert zu werden. Dies sind Gründungsdateien, die grundlegende Funktionen für den Computer oder Server ermöglichen. Beispielsweise bestimmen sie, wie Benutzer sich einschalten und sich anmelden können. Wenn sie auf 777 eingestellt sind, geht der Computer oder Server davon aus, dass er gehackt wurde, und fährt alles herunter . In diesem Fall können Sie sich nicht anmelden, das Gerät nicht einschalten und es ist unwiederbringlich. Dies ist eine sehr einfache Möglichkeit, Ihren Server vollständig zu beschädigen, also verwenden Sie chmod mit Sorgfalt.

Wie man übt

  • Erstellen Sie ein Verzeichnis:

    # mkdir /MyStuff
    

Sie können dann ls -l verwenden , chown , und chmod dieses leere Verzeichnis beliebig oft. Wenn Sie fertig sind, räumen Sie hinter sich auf.

  • Löschen Sie das Verzeichnis:

    # rmdir /MyStuff
    

Erweiterte Szenarien

Hier einige Szenarien zum Erkunden:

Szenario 1

Der Benutzer jdoe benötigt Zugriff auf ein bestimmtes Verzeichnis. Sie möchten jedoch den Benutzereigentümer und die Gruppeneigentümer unverändert lassen.

Optionen:

  • Jdoe zur Gruppe hinzufügen dem das Verzeichnis gehört. Dies ergibt jdoe Zugriff auf alle anderen Dateien oder Verzeichnisse, die dieser Gruppe gehören.
  • Erteilen Sie „Anderen“ mehr Berechtigungen auf diesem Verzeichnis. Dadurch erhalten alle anderen Benutzer auf Ihrem Computer oder Server Zugriff.
  • Geben Sie jdoe sudo Berechtigungen. jdoe kann sudo verwenden um einzelne Datei- oder Verzeichnisberechtigungen zu überschreiben. Allerdings hätte „jdoe“ dann die Administratorberechtigungen, um auf alles auf Ihrem Computer oder Server zuzugreifen.

Szenario 2

Ihre Entwickler möchten /etc ändern und alles darin zu 777 Berechtigungen.

Antwort:SAG IHNEN NEIN .

Es gibt viele Systemdateien, die kaputt gehen und möglicherweise Ihrengesamten Server zum Erliegen bringen . Fragen Sie sie stattdessen gezielt, auf welche Dateien oder Verzeichnisse sie Zugriff benötigen und welche Art von Zugriff sie benötigen.

Hier ist eine ausführlichere Anleitung zum Verständnis von Linux-Dateiberechtigungen

Szenario 3

t s S +: Wenn Sie ls -l ausführen und sehen Sie Berechtigungen, die ein t s S oder + enthalten , nicht fortfahren.

Dies sind erweiterte Datei- und Verzeichnisberechtigungen wie SUIDs, Sticky Bits und ACLs. Sie sind komplexer, können aber mit einem normalen chmod vollständig überschrieben werden Befehl.

Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch ein Gespräch mit uns beginnen.


Linux
  1. So löschen Sie Benutzerkonten mit Home-Verzeichnis in Linux

  2. So verwalten Sie den Ablauf und die Alterung von Benutzerkennwörtern in Linux

  3. So erstellen und löschen Sie Benutzergruppen in Linux

  4. So sperren und entsperren Sie Benutzer in Linux

  5. Linux-Interviewfragen – Grundlegende Datei- und Verzeichnisberechtigungen

So suchen Sie nach Meltdown- und Spectre-Schwachstellen und patchen sie in Linux

So überprüfen und reparieren Sie ein Dateisystem in RHEL Linux

So überprüfen Sie die MySQL-Benutzerrechte unter Linux

So überprüfen Sie die Größe von Dateien und Verzeichnissen unter Linux

Grundtypen von Linux-Benutzern und wie man sie überprüft

So erstellen/fügen Sie Benutzer in Linux hinzu