Linux-Rechteverwaltung (sehr ausführliche Erklärung)

Einführung

Wir wissen, dass es unter Linux zwei Arten von Benutzern gibt: den Administrator-Benutzer root und normale Benutzer .
Der Administrator-Benutzer root kann unter Linux alles tun, während normale Benutzer nur begrenzte Dinge tun können. Sie können den Befehl su verwenden, um den Benutzertyp zu wechseln su userund su root(root kann weggelassen werden):

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
(Die Eingabeaufforderung für normale Benutzer lautet $ und die Eingabeaufforderung für Root-Benutzer lautet #.)
Um zum Root zu wechseln, muss ein normaler Benutzer das Kennwort des Root-Kontos eingeben.

Für Linux gibt es zwei Arten von Benutzern, also zwei Rollen. Hat eine Datei oder ein Verzeichnis also unterschiedliche Berechtigungen für verschiedene Benutzer? Natürlich gibt es diese. In diesem Artikel werde ich die Berechtigungsverwaltung von Linux-Dateien vorstellen:

Klassifizierung der Dateibesucher

Für eine Datei oder ein Verzeichnis gibt es unter Linux drei Rollen:

  1. Eigentümer der Datei : u(Benutzer)
  2. Gruppe des Dateieigentümers : g(Gruppe)
  3. Andere Benutzer : o(andere)

Der Eigentümer, die Gruppe und andere Benutzer sind nur einfache Rollen und legen nicht fest, dass ein bestimmter Benutzer bestimmte Berechtigungen für eine Datei haben muss .
Die Berechtigungen eines Benutzers für eine Datei hängen nicht nur von der Rolle des Benutzers für die Datei ab, sondern auch von den Attributen der Datei, also davon, welche Berechtigungen die Datei der Rolle gewährt. Nur durch die Kombination beider können wir die Berechtigungen eines Benutzers für eine Datei ermitteln.

Dateitypen und Zugriffsrechte

Wenn wir lldie Eigenschaften einer Datei anzeigen, werden viele Dateieigenschaften angezeigt, einschließlich Dateityp, Zugriffsrechte auf verschiedene Rollen, Dateigröße, Zeitpunkt der letzten Änderung, Dateiname usw.:
Fügen Sie hier eine Bildbeschreibung ein
Die erste Spalte ist der Dateityp und die folgende Spalte 9 wird als Zugriffsrechte aufgeführt, die nächste Zahl ist die Anzahl der Links, die nächsten beiden Namen sind der Eigentümer und die Gruppe und schließlich die letzte Änderungszeit und der Dateiname:
Fügen Sie hier eine Bildbeschreibung ein

Dateityp

Unter Linux gibt es verschiedene Dateitypen:

  1. d:Ordner
  2. -: normale Datei
  3. l: Softlink (wie eine Windows-Verknüpfung)
  4. b: Gerätedatei blockieren (z. B. Festplatte, optisches Laufwerk usw.)
  5. p: Pipeline-Datei
  6. c: Zeichengerätedatei (z. B. serielle Geräte wie Bildschirme)
  7. s: Socket-Datei

Zugriffsberechtigung

Es gibt drei Arten von Benutzerberechtigungen für eine Datei: lesbar, beschreibbar und ausführbar :

  1. Lesbar rbedeutet (lesen):
    Mit lesbaren Berechtigungen können Sie den Inhalt der Datei lesen
  2. Beschreibbar wbedeutet (schreiben):
    Mit der Berechtigung zum Schreiben können Sie Inhalte in die Datei schreiben oder löschen
  3. Ausführbar xbedeutet (ausführen):
    Mit ausführbaren Berechtigungen kann die Datei ausgeführt werden
  4. -Zeigt an, dass keine bestimmte Berechtigung vorliegt

Es gibt 9 Spalten, die die Berechtigungen in den Eigenschaften der obigen Datei beschreiben, nämlich die Berechtigungen für den Eigentümer, die Berechtigungen für die Gruppe, zu der sie gehört, und die Berechtigungen für andere Benutzer . Die Beschreibungen der drei Berechtigungen für jede Rolle lauten „ lesbar“, „schreibbar“ und „ausführbar“ , und diese Reihenfolgen sind festgelegt

Wenn sich also an der Position einer bestimmten Berechtigung einer bestimmten Rolle ein entsprechendes Zeichen befindet, bedeutet dies, dass die geänderte Rolle über die entsprechende Berechtigung verfügt. Wenn dies der Fall ist, bedeutet dies, dass der Benutzer nicht über die Berechtigung verfügt: Zum -Beispiel
hier testfDatei:
Fügen Sie hier eine Bildbeschreibung ein
Die ersten drei Spalten sind Berechtigungen für den Eigentümer. For r w -bedeutet, dass der Eigentümer der Datei lesbar und beschreibbar, aber nicht ausführbar ist.
Die mittleren drei Spalten sind die Gruppe, r w -zu der die Datei gehört, und geben an, dass die Gruppe vorhanden ist zu der die Datei gehört, ist lesbar und beschreibbar, aber nicht ausführbar;
die letzten drei Spalten sind andere Benutzer, For r - -, was angibt, dass andere Benutzer sie lesen, nicht schreiben und ausführen können

Darstellungsmethode des Dateiberechtigungswerts

Für die drei Berechtigungen gibt es feste Positionen. Natürlich können die Berechtigungen einer Rolle für eine Datei in der binären Form 0 und 1 ausgedrückt werden .
Auf diese Weise verfügt eine Datei über 2^3=8 verschiedene Binärzahlen für Rollenberechtigungen:
Fügen Sie hier eine Bildbeschreibung ein

Befehl zum Ändern von Berechtigungen

chmod ändert Dateiberechtigungen

Die Berechtigungen der Datei können mit chmoddem Befehl geändert werden. Dieser Vorgang kann nur vom Besitzer der Datei und dem Superuser Root ausgeführt werden (es wurde gesagt, dass der Root-Benutzer Berechtigungen ignoriert).

Ändern Sie nach Rolle +/-/= Berechtigungen

chmod [选项] 用户+/-/=某项权限 文件名
Verwenden Sie dieses Format, um die Berechtigungen der Datei zu ändern
.

Darunter sind die Symbole, die Rollen darstellen, u(Eigentümer), g(Gruppe), o(andere Benutzer), a(alle Benutzer);
die Symbole, die Berechtigungen darstellen, sind r(Leseberechtigung), w(Schreibberechtigung), x(Ausführungsberechtigung);
die Symbole +(zu Die durch den Autoritätscode angegebene Autorität dem Autoritätsbereich hinzufügen), -(die durch den Autoritätscode angegebene Autorität aus dem Autoritätsbereich streichen), =(die durch den Autoritätscode angegebene Autorität dem Autoritätsbereich gewähren):

Berechtigungen von der Gruppe, zu der es gehört, gabziehen . Berechtigungen direkt der Gruppe, zu der es gehört, erteilen. Berechtigungen für andere Benutzer hinzufügenw
Fügen Sie hier eine Bildbeschreibung ein
gw
Fügen Sie hier eine Bildbeschreibung ein
ow
Fügen Sie hier eine Bildbeschreibung ein

Verwenden Sie die Option -R, um die Berechtigungen von Verzeichnisdateien rekursiv zu ändern
Fügen Sie hier eine Bildbeschreibung ein

Modifiziert durch drei Oktalzahlen

chmod [选项] 三个八进制数 文件名
Berechtigungen zum Ändern von Benutzern

Dabei repräsentiert die erste Oktalzahl die geänderte Eigentümerberechtigung, die zweite die geänderte Gruppenberechtigung und die dritte die anderen Benutzerberechtigungen.
Vorne haben wir 8 Oktalzahlen verwendet, um alle Berechtigungskombinationen darzustellen, sodass wir sie hier direkt verwenden können:
Fügen Sie hier eine Bildbeschreibung ein
Ebenso -Rkönnen Optionen für die rekursive Verarbeitung verwendet werden.

chown Eigentümer ändern

chown [选项] 用户名 文件名
Wird zum Ändern des Eigentümers der Datei verwendet. Nur der Root-Benutzer kann

Fügen Sie hier eine Bildbeschreibung ein
-R die Option zum rekursiven Verarbeiten der Dateien im Verzeichnis ändern:
Fügen Sie hier eine Bildbeschreibung ein

chgrp ändert die zugehörige Gruppe

chgrp [选项] 组名 文件名
Der zum Ändern der Datei verwendete Gruppenbenutzer kann nur vom Root-Benutzer verwendet werden

Wir können zunächst eine Gruppe qqq und einen temporären Benutzer erstellen, wodurch qqq zu seiner Hauptbenutzergruppe wird. Verwenden Sie dann, um chgrpdie Gruppe zu ändern, zu der die Datei gehört:
(Dies kann durch groupadd [用户组名称](Erstellen einer Gruppe qqq) und useradd -g [用户组名称] [新用户名称](Erstellen eines neuen Benutzers und Festlegen dieser Gruppe zur Hauptbenutzergruppe) erreicht werden.)
Fügen Sie hier eine Bildbeschreibung ein
-ROptionen können eine rekursive Verarbeitung von Verzeichnissen realisieren:

Fügen Sie hier eine Bildbeschreibung ein

umask Dateiberechtigungsmaske ändern oder anzeigen

umaskKann zum Anzeigen der Dateiberechtigungsmaske verwendet werden.
umask [三个八进制数]Wird zum Ändern der Dateiberechtigungsmaske verwendet

Bevor wir die Verwendung dieses Befehls einführen, wollen wir zunächst die Rolle der Dateiberechtigungsmaske verstehen:

Berechtigungen, als die Datei erstellt wurde

Die Standardberechtigung beim Erstellen einer normalen Datei ist 0666, und die Standardberechtigung beim Erstellen einer Verzeichnisdatei ist 0777. Aber nachdem wir eine neue Datei oder ein neues Verzeichnis erstellt haben, sind ihre Berechtigungen nicht 0666 und 0777: Die Berechtigungen
Fügen Sie hier eine Bildbeschreibung ein
einer neuen Datei sind tatsächlich die Standardberechtigungen abzüglich der Dateiberechtigungsmaske des Benutzers (oktal) , für binäre drei Ziffern und mit anderen Worten, die des Benutzers Die Dateiberechtigungsmaske wird bitweise umgekehrt und die Standardberechtigung wird dann bitweise UND-verknüpft (&).

Die Standard-Dateiberechtigungsmaske für normale Benutzer lautet 0002, und die Standard-Dateiberechtigungsmaske für Root-Benutzer lautet0022
Mit dem Befehl können Sie umaskFolgendes anzeigen:
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Für die obige Datei testf2 und testdir2 lauten die anfänglichen Berechtigungen 666 - 002 = 664 ( rw- rw- r--) und 777 - 002 = 775 ( rwx rwx r-x). Es kann auch binär berechnet werden.

umask [三个八进制数]Zum Ändern der Dateiberechtigungsmaske verwenden : Nach
Fügen Sie hier eine Bildbeschreibung ein
dem Ändern der Dateiberechtigungsmaske 0026beträgt die Berechtigung der neu erstellten normalen Datei 666 - 026 = 640 ( rw- r-- ---).

Verzeichnisberechtigungen

Für Verzeichnisse:

  1. Ausführbare Berechtigungen: Wenn das Verzeichnis keine ausführbaren Berechtigungen hat, können Sie nicht in das Verzeichnis wechseln
  2. Leseberechtigung: Wenn das Verzeichnis keine Leseberechtigung hat, können Sie Befehle wie ls nicht verwenden, um den Inhalt der Dateien im Verzeichnis anzuzeigen
  3. Schreibberechtigungen: Wenn das Verzeichnis keine Schreibberechtigungen hat, können keine Dateien im Verzeichnis erstellt und Dateien im Verzeichnis nicht gelöscht werden

Wir können überprüfen, ob wir zuvor einen temporären Benutzer erstellt haben und dieser Ordner keine Berechtigungen für andere Benutzer und Gruppen hat: Als Qiuzeyu-Konto können Sie derzeit
Fügen Sie hier eine Bildbeschreibung ein
nur dieses Verzeichnis sehen und nichts anderes tun:
Fügen Sie hier eine Bildbeschreibung ein
Wir öffnen temp-Berechtigungen wiederum für andere Benutzer (Root-Vorgang):
nur x: (kann eingeben, nicht anzeigen und ändern)
Fügen Sie hier eine Bildbeschreibung ein
ja xund r(kann eingeben, anzeigen, nicht ändern)
Fügen Sie hier eine Bildbeschreibung ein
ja r w x(kann eingeben, anzeigen, ändern)
Fügen Sie hier eine Bildbeschreibung ein

Hier besteht jedoch ein Problem: Solange der Benutzer über die Schreibberechtigung für ein bestimmtes Verzeichnis verfügt, kann er die Dateien im Verzeichnis direkt löschen, auch wenn er nicht über die Schreibberechtigung für die Dateien in diesem Verzeichnis verfügt (angezeigt im Verzeichnis unter temp) tempdir:

Wenn das Tempdir-Verzeichnis Schreibberechtigungen für andere Benutzer hat, können Sie die Dateien in diesem Verzeichnis direkt löschen, unabhängig davon, ob Sie Schreibberechtigungen für die darin enthaltenen Dateien haben:
Fügen Sie hier eine Bildbeschreibung ein
Das ist absurd, es ist eine Lücke und Sie können nicht schreiben , aber Sie können diese Datei direkt löschen.

Die Verwendung des Sticky-Bits kann dieses Problem lösen:

klebriges Stück

Das Sticky-Bit ersetzt die ausführbaren Berechtigungen anderer Benutzer, gekennzeichnet durch t.
Sie können chmod +t [文件名]das Sticky-Bit mit zu Verzeichnissen hinzufügen

Wenn das Sticky-Bit aktiviert ist, können Dateien in diesem Verzeichnis nur vom Eigentümer des Verzeichnisses, dem Eigentümer der Dateien im Verzeichnis und dem Root-Konto gelöscht werden:
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Zusammenfassen

Bisher wurden Inhalte zu Linux-Dateiberechtigungen vorgestellt,
einschließlich der Klassifizierung von Dateibesuchern, Dateitypen und Zugriffsberechtigungen, Darstellungsmethoden für Dateiberechtigungswerte, Anweisungen zum Ändern von Berechtigungen, Verzeichnisberechtigungen und Sticky Bits

Wenn Sie der Meinung sind, dass ich einen bestimmten Teil nicht klar dargelegt habe oder dass bei einem bestimmten Teil ein Problem vorliegt, können Sie dies gerne im Kommentarbereich ansprechen

Wenn dieser Artikel für Sie hilfreich ist, hoffe ich, dass er mit einem Klick verknüpft wird

Ich hoffe, gemeinsam mit Ihnen Fortschritte zu machen

Ich denke du magst

Origin blog.csdn.net/weixin_73450183/article/details/131147693
Empfohlen
Rangfolge