2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Vorwort: In diesem Abschnitt geht es hauptsächlich um den Inhalt im Zusammenhang mit Linux-Berechtigungen. Linux-Berechtigungen sind nicht zu spüren, wenn Sie das Root-Konto verwenden. Daher müssen wir normale Konten verwenden, um die relevanten Inhalte dieses Abschnitts zu erlernen und einige experimentelle Tests durchzuführen. Durch das Studium der Linux-Berechtigungen können wir dann herausfinden, warum uns beim Bearbeiten einer Datei manchmal immer die Berechtigung verweigert wird, und uns den Unterschied zwischen den Dateiberechtigungen im Stammverzeichnis und den Dateiberechtigungen im Home-Verzeichnis unseres normalen Benutzers mitteilen.
ps: Dieser Abschnitt ist für Freunde geeignet, die Linux lernen und einige Linux-Befehle kennen.
//Lassen Sie uns zunächst die Klassifizierung von Benutzern unter Linux kennenlernen:
- Wurzel:Superuser, Administrator
- Allgemeiner Benutzer: Das heißt, einige Benutzer haben wir erstellt. (Normale Benutzer von addusr)
Der grundlegende Unterschied zwischen diesen beiden Benutzern besteht darin, dass der Root-Benutzer nicht durch Berechtigungen eingeschränkt ist, während normale Benutzer durch Berechtigungen eingeschränkt sind.
//so
Normale Benutzer können zu Root-Benutzern wechseln, und Root-Benutzer können auch zu normalen Benutzern wechseln.
Wechseln Sie vom normalen Benutzer zum Root-Benutzer:
Das erste ist su + Root-Passwort. Sie können zum Root-Benutzer wechseln. Wenn Sie zu diesem Zeitpunkt wechseln, bleibt die Position des Benutzers nach dem Wechsel unverändert.
Der zweite Typ ist su- + root-Passwort. Wechseln Sie auch zum Root-Benutzer. Wenn Sie zu diesem Zeitpunkt wechseln, wird der Standort des Benutzers nach dem Wechsel zum Root-eigenen Home-Verzeichnis.
Nach dem Wechsel in den beiden oben genannten Situationen können Sie mit cral + d zurückwechseln.
Wechseln des Root-Benutzers in einen normalen Benutzer – Das Wechseln des Root-Benutzers in einen normalen Benutzer erfordert kein Passwort und kann direkt gewechselt werden.
Normaler Benutzer wechselt zum normalen Benutzer
Für normale Benutzer gibt es im Allgemeinen zwei Möglichkeiten, zu normalen Benutzern zu werden:
Die erste Möglichkeit: Wenn Sie das Passwort des normalen Benutzers haben, können Sie su + Benutzer + Benutzerpasswort verwenden, um die Identität zu wechseln.
Der zweite Typ besteht darin, zuerst zum Root-Benutzer zu wechseln (siehe oben beschriebene Wechselmethode) und dann über die Root-Identität direkt zum angegebenen Benutzer zu wechseln.
Beachten Sie, dass Sie cral + d verwenden können, um zum Bewusstseinsidentitätswechsel zurückzukehren.
Eskalation der Befehlsrechte : Wenn wir den Befehl ausführen, können wir nicht zum Root-Benutzer wechseln, sondern nur die Rechte eines der Befehle erweitern. Zu diesem Zeitpunkt verwenden wir sudu + Befehl + das Passwort des aktuellen Benutzers. Freunde haben hier möglicherweise Fragen: Warum müssen Sie anstelle des Root-Passworts Ihr eigenes Passwort eingeben, um die Berechtigungen eines bestimmten Befehls zu erweitern? Dies liegt daran, dass diese Eskalation der Befehlsrechte an Bedingungen geknüpft ist, d. h. nur wenn ein Benutzer zur Whitelist des Systems hinzugefügt wird, kann die Eskalation der Befehlsrechte durchgeführt werden. Wenn es nicht zur Whitelist hinzugefügt wird, ist der Befehl zur Rechteausweitung nutzlos.
Im Volksmund beziehen sich Berechtigungen darauf, ob Sie etwas tun dürfen. Das sind Berechtigungen.
Die Identität eines Benutzers ist unterteilt in: Besitzer, Gruppe und andere.
Schauen wir uns die folgende Reihe von Befehlszeilen an:
Dabei repräsentiert das erste _mian_yang zunächst den Eigentümer der Datei und das zweite _mian_yang die Gruppe, zu der die Datei gehört. Das heißt, der Eigentümer dieser Dateien ist _mian_yang und _mian_yang ist die Identität des Eigentümers; die Gruppe, zu der diese Dateien gehören, ist _mian_yang. Wenn ein Benutzer zur Gruppe _mian_yang gehört, ist er die Identität der Gruppe zu der er gehört; und wenn ein Benutzer beides ist: Es ist weder _mian_yang noch gehört es zu der Gruppe, zu der _mian_yang gehört. Dann ist dieser Benutzer die Identität einer anderen Person.
Wenn es also einen Direktor namens Zhang San gibt, möchte Zhang San in das Büro seines eigenen Direktors gehen. Deshalb möchte ich fragen, ob Zhang San in das Büro des Direktors gehen kann, weil er Zhang San ist oder weil er der Direktor ist. Der offensichtliche Grund dafür ist, dass er als Schulleiter in das Büro seines eigenen Schulleiters gehen kann. Also können wir für unsere Dateien auf diese Datei zugreifen, weil wir dieser Benutzer sind? Oder liegt es an unserer Benutzeridentität? Die Antwort ist Identität. Das heißt, die Autoritätsauthentifizierung ist die Identität.
Zweite Frage: Wir alle wissen, dass Mobiltelefone viele Funktionen haben. Wir können Videos ansehen, Informationen abrufen, Spiele spielen und so weiter. Diese können als Eigenschaften angesehen werden, die Mobiltelefone besitzen. Wenn wir jedoch hungrig sind, können wir unsere Telefone nicht essen, um nicht länger hungrig zu sein. Die Verwendbarkeit als Nahrungsmittel ist eine Eigenschaft, die Mobiltelefone nicht haben. Egal was wir tun, selbst Menschen mit höchster Autorität können nicht zulassen, dass Mobiltelefone zu Nahrungsmitteln werden. Wir können den zweiten Punkt kennen, nämlich dass Berechtigungen auch mit den Attributen von Dingen zusammenhängen.
//Die Beziehung zwischen Identität und Benutzer
Nachdem wir über die drei Arten von Berechtigungen gesprochen haben, betrachten wir die Beziehung zwischen Berechtigungen und Benutzerklassifizierungen basierend auf der vorherigen Benutzerklassifizierung.
Zunächst einmal kann dieser normale Benutzer für einen normalen Benutzer der Eigentümer einer Datei, die Gruppe, zu der eine Datei gehört, oder andere Personen sein.
Für den Root-Benutzer kann der Root-Benutzer der Eigentümer einer Datei, die Gruppe, zu der eine Datei gehört, oder andere Personen sein.
Wie manifestiert es sich? Das heißt, wie ermittelt Linux die Identität dieses Benutzers? Schauen wir uns dieses Bild an:
Bei grünen und orangefarbenen Boxen ist die grüne Box der Eigentümer und die orange Box die Gruppe, zu der sie gehört. Wenn also ein angemeldeter Benutzer auf eine Datei zugreift, muss er zunächst prüfen, ob er der Eigentümer der Datei ist. Wenn nicht, muss er prüfen, ob er zu der Gruppe gehört, zu der die Datei gehört. Wenn nicht, dann jemand anderes.
//Dateiberechtigungen
Schauen Sie sich dieses Bild weiter an. Die rosa Kästchen darin stellen die Berechtigungen der einzelnen Identitäten dar. Grüne horizontale Balken sind Eigentümerberechtigungen, orange horizontale Balken sind Gruppenberechtigungen und blaue horizontale Balken sind die Berechtigungen anderer Personen. Unter diesen verfügt jede Identität über drei Berechtigungen (rwx). Diese drei Berechtigungen bilden eine Gruppe, und die Positionen dieser drei Berechtigungen werden bestimmt. Die erste Position dient zum Lesen, die zweite Position zum Schreiben und die dritte Position zum Ausführbaren. Diese drei Positionen sind nicht außer Betrieb und die Bedeutung jeder Position ist festgelegt! Und jeder Standort verfügt nur über Ja oder Nein, über die angegebenen Berechtigungen.
Denken Sie hier darüber nach: Warum brauchen Sie die Erlaubnis, einer Gruppe anzugehören?
Angenommen, sowohl Zhang San als auch Li Si traten zu Vorstellungsgesprächen in ein Unternehmen ein, wurden schließlich Praktikanten desselben Unternehmens und wurden dann der Gruppe A bzw. Gruppe B zugeordnet. Darüber hinaus gehört Zhang San zur Gruppe A und Li Si zur Gruppe B. Nun erlaubt das Unternehmen diesen beiden Gruppen, gleichzeitig eine Software zu entwickeln. Eines Tages schrieb Zhang San eine Menge sehr leistungsfähigen Codes. Li Si wollte einen Blick darauf werfen, aber Zhang San wollte nicht, dass Li Si ihn sah. Eines Tages möchte der Anführer jedoch einen Blick auf den von Zhang San geschriebenen Code werfen. Wenn Zhang San jedoch die Leseerlaubnis für den Code freigibt, kann Li Si ihn sehen, sodass die Gruppe, der er angehört, dabei eine Rolle spielt Zeit. Lassen Sie diesen Anführer zu dieser Gruppe gehören, damit ich dieses Programm sehen kann, und der Anführer kann es auch, andere jedoch nicht.
Es gibt nur zwei Personen, die Berechtigungen ändern können: einer ist der Eigentümer und der andere ist der Root.
Methode: chmod u + rwx ändert die vom Eigentümer geänderten Berechtigungen und fügt dem Eigentümer Berechtigungen hinzu (R-Leseberechtigung, W-Schreibberechtigung, X-Ausführungsberechtigung).
chmod u-rwx ändert die Berechtigungen des Eigentümers und entzieht dem Eigentümer die entsprechenden Berechtigungen
chmod g+rwx ändert die Berechtigungen der Gruppe, zu der es gehört, und fügt der Gruppe, zu der es gehört, Berechtigungen hinzu.
chmod g-rwx ändert die Berechtigungen der Gruppe, zu der es gehört, und fügt der Gruppe, zu der es gehört, Berechtigungen hinzu.
chmod g-rwx, um die Berechtigungen anderer Personen zu ändern und Berechtigungen für andere hinzuzufügen
chmod g-rwx, um die Berechtigungen anderer Personen zu ändern und Berechtigungen für andere hinzuzufügen
Sie können auch u+rwx und g+rwx verwenden, um Berechtigungen für mehrere Identitäten zu erteilen. Dies bedeutet, dass das Hinzufügen von Berechtigungen zu der Gruppe und dem Eigentümer, zu der sie gehören, und das Entfernen von Berechtigungen das Gegenteil ist.
Wenn Sie beispielsweise Berechtigungen für alle Identitäten gleichzeitig hinzufügen möchten, würden Sie a+rwx ändern, und das Gegenteil gilt für das Subtrahieren von Berechtigungen.
Darüber hinaus können wir neben der Änderung von Berechtigungen auch den Besitzer und die Gruppe einer Datei ändern.
Ändern Sie den Dateieigentümer: Wählen Sie die Benutzerdatei aus, um die eigenen Dateien an jemanden weiterzugeben und den Eigentümer zu ändern.
Ändern Sie die Gruppe, zu der eine Datei gehört: chgrp Ändern Sie die Gruppe, zu der eine Benutzerdatei gehört.
Die beiden oben genannten Anweisungen erfordern die Zustimmung des entsprechenden Benutzers. Im Allgemeinen gibt es zwei Methoden: Die eine besteht darin, die Rechte zu erweitern, su, und die andere darin, offline zu kommunizieren.
Was die Berechtigungen betrifft, werden die Berechtigungen jedes Standorts, den wir mit ll sehen, bestimmt. Wir können also 1 verwenden, um anzugeben, dass der Standort über Berechtigungen verfügt, und 0, um anzugeben, dass der Standort über keine Berechtigungen verfügt. Wir können also 111 und 110 verwenden, um die Berechtigungen einer Identität darzustellen. 111 bedeutet beispielsweise Lesen, Schreiben und Ausführen. 111 ist 7, daher können die drei Identitäten durch drei Oktalziffern dargestellt werden, beispielsweise 777.
Daher können wir die Berechtigungen wie folgt ändern: chmod 777, was bedeutet, dass alle Identitäten alle Berechtigungen erhalten.
Schauen wir uns nun ein Beispiel an:
Für den Benutzer _mian_yang hat sein Besitzerstatus nun Leseberechtigungen, aber keine Schreibberechtigungen; seine Gruppenidentität hat Leseberechtigungen und Schreibberechtigungen.
Kann _mian_yang zu diesem Zeitpunkt in diese Datei schreiben?
Die Antwort lautet „Nein“, denn wenn ein Benutzer seine Identität authentifiziert, kann er nur eine Identität authentifizieren. Zuerst authentifiziert er den Besitzer, dann authentifiziert er die Gruppe, der er angehört, und schließlich authentifiziert er andere.
Warum sehen die Berechtigungen beim Erstellen einer Datei so aus?
Zunächst müssen wir wissen, dass die Berechtigungen im Bild die endgültigen Berechtigungen sind, die von der Datei erstellt werden. Sie verfügen tatsächlich auch über eine Startberechtigung – die Standardstartberechtigung für Verzeichnisdateien ist 777 und die Standardberechtigung für normale Dateien 666. Aber warum sind die schließlich erstellten Berechtigungen 775 für Verzeichnisdateien und 664 für normale Dateien?
Dies liegt daran, dass es im System standardmäßig eine Umask gibt – eine Berechtigungsmaske. Die Berechtigungsmaske bedeutet, dass alle in der umask angezeigten Berechtigungen nicht in der endgültigen Berechtigungsmaske angezeigt werden. Die Berechnungsregel hier ist nicht die Standardberechtigungs-Berechtigungsmaske, sondern die endgültige Berechtigung = Standardberechtigung & (~ Berechtigungsmaske).
Gleichzeitig kann umask auch geändert werden, z. B. die umask-Nummer, mit der die Berechtigungsmaske auf eine bestimmte Nummer geändert werden soll.
Verzeichnis lesen: ermöglicht es uns, den Inhalt von Dateien im aktuellen Verzeichnis anzuzeigen
Verzeichnisschreiben: ermöglicht uns das Erstellen, Löschen und Ändern von Dateien
Ausführbares Verzeichnis: Ob wir das Verzeichnis betreten dürfen.
In der Praxis haben wir möglicherweise diese Anforderung: Wir möchten Daten teilen, aber wenn wir das Verzeichnis unter unserem Home-Verzeichnis erstellen, können andere Benutzer keinen Zugriff darauf haben. Daher kann dieses Verzeichnis nur unter dem Stammverzeichnis erstellt werden, aber die Standardberechtigungen des Stammverzeichnisses sind dr-xr-xr-x, was bedeutet, dass die drei Identitäten nur lesen und ausführen können und keine Verzeichnisse nach Belieben erstellen können. Sie müssen also das Root-Konto verwenden, um das Verzeichnis zu erstellen.
Nachdem wir diese Datei erstellt haben, können wir die andere Identität so einstellen, dass sie diese Datei liest, schreibt und ausführt, andernfalls kann sie nicht gemeinsam genutzt werden. Wenn jedoch ein Benutzer eine Datei darin erstellt, können andere die Datei nach Belieben löschen, da das Verzeichnis über Schreibberechtigungen verfügt. Um diese Datei zu diesem Zeitpunkt zu schützen, wurde die Sticky-Bit-Operation hinzugefügt. Durch die Funktion dieses Sticky-Bits wird sichergestellt, dass vom Benutzer erstellte Dateien nur vom Benutzer selbst oder vom Root gelöscht werden können.
Daher ist das Sticky-Bit ein Berechtigungssatz speziell für ein Verzeichnis, normalerweise ein freigegebenes Verzeichnis. Jeder kann die Datei im Verzeichnis hinzufügen, löschen, überprüfen und ändern, aber nur der Eigentümer und der Root können die Datei löschen und niemand sonst dürfen.
------------------
Das ist alles für diesen Abschnitt.
Hier sind meine Notizen: