Linux-Berechtigungen
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 user
und su root
(root kann weggelassen werden):
(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:
- Eigentümer der Datei :
u
(Benutzer) - Gruppe des Dateieigentümers :
g
(Gruppe) - 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 ll
die Eigenschaften einer Datei anzeigen, werden viele Dateieigenschaften angezeigt, einschließlich Dateityp, Zugriffsrechte auf verschiedene Rollen, Dateigröße, Zeitpunkt der letzten Änderung, Dateiname usw.:
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:
Dateityp
Unter Linux gibt es verschiedene Dateitypen:
d
:Ordner-
: normale Dateil
: Softlink (wie eine Windows-Verknüpfung)b
: Gerätedatei blockieren (z. B. Festplatte, optisches Laufwerk usw.)p
: Pipeline-Dateic
: Zeichengerätedatei (z. B. serielle Geräte wie Bildschirme)s
: Socket-Datei
Zugriffsberechtigung
Es gibt drei Arten von Benutzerberechtigungen für eine Datei: lesbar, beschreibbar und ausführbar :
- Lesbar
r
bedeutet (lesen):
Mit lesbaren Berechtigungen können Sie den Inhalt der Datei lesen - Beschreibbar
w
bedeutet (schreiben):
Mit der Berechtigung zum Schreiben können Sie Inhalte in die Datei schreiben oder löschen - Ausführbar
x
bedeutet (ausführen):
Mit ausführbaren Berechtigungen kann die Datei ausgeführt werden -
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 testf
Datei:
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:
Befehl zum Ändern von Berechtigungen
chmod ändert Dateiberechtigungen
Die Berechtigungen der Datei können mit chmod
dem 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, g
abziehen . Berechtigungen direkt der Gruppe, zu der es gehört, erteilen. Berechtigungen für andere Benutzer hinzufügenw
g
w
o
w
Verwenden Sie die Option -R, um die Berechtigungen von Verzeichnisdateien rekursiv zu ändern
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:
Ebenso -R
kö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
-R
die Option zum rekursiven Verarbeiten der Dateien im Verzeichnis ändern:
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 chgrp
die 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.)
-R
Optionen können eine rekursive Verarbeitung von Verzeichnissen realisieren:
umask Dateiberechtigungsmaske ändern oder anzeigen
umask
Kann 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
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 umask
Folgendes anzeigen:
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
dem Ändern der Dateiberechtigungsmaske 0026
beträgt die Berechtigung der neu erstellten normalen Datei 666 - 026 = 640 ( rw- r-- ---
).
Verzeichnisberechtigungen
Für Verzeichnisse:
- Ausführbare Berechtigungen: Wenn das Verzeichnis keine ausführbaren Berechtigungen hat, können Sie nicht in das Verzeichnis wechseln
- Leseberechtigung: Wenn das Verzeichnis keine Leseberechtigung hat, können Sie Befehle wie ls nicht verwenden, um den Inhalt der Dateien im Verzeichnis anzuzeigen
- 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
nur dieses Verzeichnis sehen und nichts anderes tun:
Wir öffnen temp-Berechtigungen wiederum für andere Benutzer (Root-Vorgang):
nur x
: (kann eingeben, nicht anzeigen und ändern)
ja x
und r
(kann eingeben, anzeigen, nicht ändern)
ja r
w
x
(kann eingeben, anzeigen, ändern)
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:
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:
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