Artikelverzeichnis
-
- 1. Benutzer- und Gruppenverwaltung
- 2. Datei- und Verzeichnisberechtigungsverwaltung
-
- Einführung
- Übersicht über Dateiberechtigungen
- Dateiberechtigungen ändern
- Dateieigentümer und Gruppe ändern
- Verzeichnisberechtigungen ändern
- Datei- und Verzeichnisberechtigungen auflisten
- Verwenden Sie Sonderberechtigungen
- Fallstudie zu Datei- und Verzeichnisberechtigungen
- Berechtigungen für übergeordnete Verzeichnisse erben
- Anwendungsfälle für Sonderberechtigungen
- ACL (Zugriffskontrollliste)
- umask
- Vorsichtsmaßnahmen
- Zusammenfassen
- Empfohlene Python-Boutique-Kolumnen
1. Benutzer- und Gruppenverwaltung
Einführung
In Linux-Systemen ist die Verwaltung von Benutzern und Gruppen sehr wichtig. Die Einstellungen von Benutzern und Gruppen beziehen sich nicht nur auf die Sicherheit des Systems, sondern helfen Administratoren auch dabei, die Berechtigungen von Dateien und Verzeichnissen besser zu verwalten. In diesem Kapitel wird erläutert, wie Benutzer und Gruppen in Linux-Systemen verwaltet werden.
Benutzer erstellen
Um einen neuen Benutzer zu erstellen, verwenden Sie useradd
den Befehl. Hier ist ein Beispielcode zum Erstellen eines Benutzers mit dem Namen „newuser“:
useradd newuser
Benutzer löschen
Um einen Benutzer zu löschen, verwenden Sie userdel
den Befehl. Hier ist ein Beispielcode zum Löschen eines Benutzers namens „olduser“:
userdel olduser
Benutzerpasswort ändern
Um das Passwort eines Benutzers zu ändern, können Sie passwd
den Befehl verwenden. Hier ist ein Beispielcode zum Ändern des Passworts eines Benutzers namens „newuser“:
passwd newuser
Benutzerattribute ändern
Um die Attribute eines Benutzers zu ändern, können Sie usermod
den Befehl verwenden. Im Folgenden finden Sie Beispielcode zum Ändern der Gruppe des Benutzers mit dem Namen „newuser“ in „newgroup“:
usermod -g newgroup newuser
Gruppe erstellen
Um eine neue Gruppe zu erstellen, verwenden Sie groupadd
den Befehl. Hier ist ein Beispielcode zum Erstellen einer Gruppe mit dem Namen „newgroup“:
groupadd newgroup
Gruppe löschen
Um eine Gruppe zu löschen, verwenden Sie groupdel
den Befehl. Hier ist ein Beispielcode zum Löschen einer Gruppe namens „oldgroup“:
groupdel oldgroup
Benutzer zur Gruppe hinzufügen
Um Benutzer zu einer Gruppe hinzuzufügen, können Sie usermod
den Befehl verwenden. Hier ist ein Beispielcode zum Hinzufügen eines Benutzers namens „newuser“ zu einer Gruppe namens „newgroup“:
usermod -aG newgroup newuser
Benutzer aus der Gruppe entfernen
Um einen Benutzer aus einer Gruppe zu entfernen, verwenden Sie gpasswd
den Befehl. Hier ist ein Beispielcode zum Entfernen eines Benutzers namens „olduser“ aus einer Gruppe namens „oldgroup“:
gpasswd -d olduser oldgroup
Dies sind einige grundlegende Vorgänge der Benutzer- und Gruppenverwaltung unter Linux. Es gibt erweiterte Funktionen und Optionen für die Benutzer- und Gruppenverwaltung. Sie können die relevanten Informationen überprüfen, um selbst zu lernen.
2. Datei- und Verzeichnisberechtigungsverwaltung
Einführung
In Linux-Systemen sind Datei- und Verzeichnisberechtigungen der Schlüssel zum Schutz der Datensicherheit. Durch die korrekte Festlegung der Berechtigungen können Sie die Benutzerzugriffsebenen auf Dateien und Verzeichnisse steuern und so sicherstellen, dass nur autorisierte Benutzer lesen, schreiben oder entsprechende Vorgänge ausführen können. In diesem Kapitel wird erläutert, wie Sie Berechtigungen für Dateien und Verzeichnisse verwalten.
Übersicht über Dateiberechtigungen
In einem Linux-System verfügt jede Datei und jedes Verzeichnis über Zugriffsberechtigungen, die bestimmen, wer darauf lesen, schreiben oder Vorgänge ausführen kann. Berechtigungen sind in drei Gruppen unterteilt: Besitzer, Gruppe und andere. Jede Gruppe verfügt über eigene Lese- (r), Schreib- (w) und Ausführungsberechtigungen (x). Im Folgenden finden Sie die symbolische Darstellung der Berechtigungen:
- r: Leseberechtigung (4)
- w: Schreibberechtigung (2)
- x: Ausführungserlaubnis (1)
Verwenden Sie Zahlen, um Berechtigungskombinationen darzustellen, zum Beispiel:
- rw-: Lese- und Schreibberechtigungen (6)
- rx: Lese- und Ausführungsberechtigungen (5)
- r–: Nur-Lese-Berechtigung (4)
Dateiberechtigungen ändern
Um die Berechtigungen einer Datei zu ändern, können Sie chmod
den Befehl verwenden. Im Folgenden finden Sie einen Beispielcode, um die Berechtigungen der Datei „file.txt“ so festzulegen, dass sie für den Eigentümer lesbar und beschreibbar, für die Gruppe, zu der sie gehört, und nur für andere lesbar ist:
chmod 644 file.txt
Dateieigentümer und Gruppe ändern
Um den Eigentümer einer Datei zu ändern, können Sie chown
den Befehl verwenden. Das Folgende ist ein Beispielcode, um den Besitzer der Datei „file.txt“ in „user“ zu ändern:
chown user file.txt
Um die Gruppe zu ändern, zu der eine Datei gehört, verwenden Sie chgrp
den Befehl. Im Folgenden finden Sie einen Beispielcode zum Ändern der Gruppe der Datei „file.txt“ in „group“:
chgrp group file.txt
Verzeichnisberechtigungen ändern
Um die Berechtigungen eines Verzeichnisses zu ändern, können Sie chmod
den Befehl verwenden und die rekursive Option (-R) hinzufügen, um die Dateien und Unterverzeichnisse im Verzeichnis gleichzeitig zu ändern. Das Folgende ist ein Beispielcode, der die Berechtigungen des Verzeichnisses „dir“ und seines Inhalts auf Lesen, Schreiben und Ausführen für den Eigentümer und nur Lesen und Ausführen für die Gruppe und andere festlegt:
chmod -R 755 dir
Datei- und Verzeichnisberechtigungen auflisten
Um die Berechtigungen von Dateien und Verzeichnissen aufzulisten, können Sie ls
den Befehl verwenden und die Langformatoption (-l) hinzufügen. Hier ist ein Beispielcode zum Auflisten aller Dateien und Verzeichnisse im aktuellen Verzeichnis und ihrer Berechtigungen:
ls -l
Verwenden Sie Sonderberechtigungen
In Linux-Systemen gibt es auch spezielle Berechtigungen, die auf Dateien und Verzeichnisse angewendet werden können.
-
Setuid (SUID): Ermöglicht einem Programm, bei der Ausführung die Berechtigungen des Dateieigentümers zu erhalten. Sie können
chmod
den Befehl verwenden und die Zahl auf 4 setzen, um Setuid-Berechtigungen zu aktivieren. -
Setgid (SGID): Ermöglicht einem Programm, bei der Ausführung die Berechtigungen der Gruppe zu erhalten, zu der die Datei gehört. Sie können
chmod
den Befehl verwenden und die Zahl auf 2 setzen, um Setgid-Berechtigungen zu aktivieren. -
Sticky Bit: Wird normalerweise in Verzeichnissen verwendet und gibt an, dass nur der Dateieigentümer die darin enthaltenen Dateien löschen kann. Sie können
chmod
den Befehl verwenden und die Zahl auf 1 setzen, um die Sticky-Bit-Berechtigung zu aktivieren.
Fallstudie zu Datei- und Verzeichnisberechtigungen
Das folgende Beispiel zeigt, wie Sie Datei- und Verzeichnisberechtigungen festlegen und spezielle Berechtigungen verwenden.
- Erstellen Sie eine Datei mit dem Namen „example.txt“:
touch example.txt
- Legen Sie den Eigentümer der Datei auf „Benutzer“ und die Gruppe auf „Gruppe“ fest:
chown user:group example.txt
- Legen Sie fest, dass nur der Eigentümer die Datei lesen und schreiben kann und die Gruppe und andere nur lesen können:
chmod 644 example.txt
- Erstellen Sie ein Verzeichnis mit dem Namen „example_dir“:
mkdir example_dir
- Setzen Sie den Besitzer des Verzeichnisses auf „Benutzer“ und die Gruppe auf „Gruppe“:
chown user:group example_dir
- Legen Sie fest, dass nur der Besitzer das Verzeichnis lesen, schreiben und ausführen kann und die Gruppe und andere nur lesen und ausführen können:
chmod 755 example_dir
Das Obige ist der Inhalt der Verwaltung von Datei- und Verzeichnisberechtigungen unter Linux. Es ist wichtig, die Berechtigungen richtig festzulegen, um die Sicherheit Ihres Systems und Ihrer Daten zu gewährleisten.
Wenn Sie Datei- und Verzeichnisberechtigungen verwalten müssen, gibt es einige andere Vorgänge und Konzepte, die Ihnen dabei helfen können, Dateien und Verzeichnisse in Ihrem System besser zu verwalten.
Berechtigungen für übergeordnete Verzeichnisse erben
Standardmäßig erben neu erstellte Dateien und Verzeichnisse die Berechtigungen ihres übergeordneten Verzeichnisses. Das heißt, wenn Sie die Berechtigungen des übergeordneten Verzeichnisses ändern, verfügen die neu erstellten Dateien und Verzeichnisse entsprechend über die neuen Berechtigungen. Dies ist nützlich, um konsistente Berechtigungseinstellungen beizubehalten.
Anwendungsfälle für Sonderberechtigungen
Hier sind einige Anwendungsfälle für Sonderberechtigungen:
-
Uhrzeit einstellen (SÜDEN):
- Wenn ein ausführbares Programm über Setuid-Berechtigungen verfügt, wird es als Eigentümer der Datei und nicht als aktueller Benutzer ausgeführt. Dies ist nützlich, wenn einige Programme auf Ressourcen zugreifen müssen, auf die nur der Eigentümer der Datei Zugriff hat. Das Programm passwd verfügt beispielsweise über Setuid-Berechtigungen, sodass normale Benutzer ihre eigenen Passwörter ändern können.
- Befehl zum Festlegen von Setuid-Berechtigungen:
chmod u+s filename
-
Setgid(SGID):
- Wenn ein ausführbares Programm über Setgid-Berechtigungen verfügt, wird es als die Gruppe ausgeführt, zu der die Datei gehört, und nicht als aktueller Benutzer. Dies ist nützlich, wenn bestimmte Programme im Kontext einer bestimmten Gruppe ausgeführt werden müssen. Wenn Benutzer beispielsweise neue Dateien oder Verzeichnisse erstellen, erben sie automatisch die Gruppe des Verzeichnisses, zu dem sie gehören.
- Befehl zum Festlegen von Setgid-Berechtigungen:
chmod g+s filename
-
Klebriges Bit:
- Bei Verzeichnissen erlauben Sticky-Bit-Berechtigungen nur dem Eigentümer der Datei, die Datei zu löschen. Dies ist bei freigegebenen Verzeichnissen nützlich, um zu verhindern, dass andere Benutzer versehentlich die Dateien anderer Personen löschen.
- Befehl zum Festlegen von Sticky-Bit-Berechtigungen:
chmod +t directoryname
ACL (Zugriffskontrollliste)
ACL ist ein flexiblerer und detaillierterer Berechtigungskontrollmechanismus, der es Ihnen ermöglicht, detailliertere Berechtigungen für bestimmte Benutzer oder Gruppen festzulegen. Durch die Verwendung von ACLs können Sie einer Datei oder einem Verzeichnis zusätzliche Benutzer- und Gruppenberechtigungen hinzufügen, die über den Besitzer, die Gruppe und andere hinausgehen. ACLs sind in bestimmten Situationen nützlich, erfordern jedoch ein Dateisystem, das ACLs unterstützt.
umask
umask ist eine Berechtigungsmaske auf Systemebene, mit der die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse festgelegt werden. Es wirkt sich auf die endgültigen Berechtigungen von Dateien und Verzeichnissen aus, indem bestimmte Berechtigungen blockiert werden. Standardmäßig ist der umask-Wert eines Linux-Systems normalerweise auf 022 eingestellt, wodurch Schreibberechtigungen von den Berechtigungen neuer Dateien und Verzeichnisse entfernt werden, um sicherzustellen, dass andere Benutzer sie nicht bearbeiten können.
Mit dem Befehl können Sie umask
den aktuellen umask-Wert anzeigen und mit umask <value>
dem Befehl einen neuen umask-Wert festlegen. Beachten Sie, dass der umask-Wert eine Oktalzahl ist.
Vorsichtsmaßnahmen
Beachten Sie beim Verwalten von Datei- und Verzeichnisberechtigungen die folgenden Punkte:
- Informieren Sie sich über die aktuellen Berechtigungen für Dateien und Verzeichnisse und stellen Sie sicher, dass diese entsprechend geändert werden.
- Missbrauchen Sie Sonderberechtigungen nicht, sondern nutzen Sie sie nur bei Bedarf.
- Um die System- und Datensicherheit zu gewährleisten, werden die Berechtigungen regelmäßig überprüft und aktualisiert.
- Machen Sie sich mit dem Konzept und der Verwendung von ACLs vertraut und nutzen Sie sie, wenn eine detailliertere Kontrolle erforderlich ist.
- Passen Sie den umask-Wert nach Bedarf an, um sicherzustellen, dass die neu erstellten Dateien und Verzeichnisse Ihren Anforderungen entsprechen.
Zusammenfassen
In diesem Artikel haben wir die wichtigen Konzepte und Vorgänge der Benutzer- und Gruppenverwaltung sowie der Datei- und Verzeichnisberechtigungsverwaltung kennengelernt. Zunächst haben wir uns angeschaut, wie man Benutzer erstellt, löscht und ändert sowie Benutzerkennwörter und -attribute ändert. Anschließend haben wir uns angeschaut, wie man Gruppen erstellt und löscht, und den Vorgang des Hinzufügens und Entfernens von Benutzern zu Gruppen demonstriert.
Als Nächstes befassen wir uns mit der Berechtigungsverwaltung für Dateien und Verzeichnisse und stellen Nutzungs- und Fallstudien bereit. Wir haben gelernt, wie Dateiberechtigungen funktionieren und wie man Dateiberechtigungen, Dateieigentümer und -gruppen sowie Verzeichnisberechtigungen ändert. Wir haben auch gelernt, wie man Berechtigungsinformationen für Dateien und Verzeichnisse auflistet.
Um die Sicherheit und Flexibilität zu erhöhen, führen wir Anwendungsfälle für Sonderberechtigungen ein. Durch die Verwendung von Setuid-Berechtigungen können wir ein ausführbares Programm als Eigentümer der Datei ausführen lassen, während Setgid-Berechtigungen es dem ausführbaren Programm ermöglichen, als die Gruppe auszuführen, zu der die Datei gehört. Darüber hinaus verhindern Sticky-Bit-Berechtigungen, dass andere Benutzer versehentlich Dateien löschen.
Wir haben auch etwas über ACL (Access Control List) gelernt, das einen detaillierteren Berechtigungskontrollmechanismus bietet und es uns ermöglicht, zusätzliche Berechtigungen für bestimmte Benutzer oder Gruppen festzulegen. Abschließend haben wir umask besprochen, das sich auf die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse auswirkt. Wenn Sie den umask-Wert verstehen und anpassen, können Sie sicherstellen, dass er unseren Anforderungen entspricht.
Zusammenfassend lässt sich sagen, dass die Benutzer- und Gruppenverwaltung sowie die Datei- und Verzeichnisberechtigungsverwaltung wichtige Vorgänge für die Aufrechterhaltung der Systemsicherheit und Datenintegrität sind. Durch die Beherrschung dieser Konzepte und Techniken können wir sicherstellen, dass nur autorisierte Benutzer auf Dateien zugreifen und diese ändern können, und so Systeme vor unbefugtem Zugriff und Schäden schützen. Wenn Sie die Vorbehalte im Hinterkopf behalten und diese Tipps nach Bedarf anwenden, können Sie Datei- und Verzeichnisberechtigungen effektiv verwalten.
Empfohlene Python-Boutique-Kolumnen
Grundkenntnisse in Python (0 grundlegende Einführung)
[Python-Grundkenntnisse] 0.print()-Funktion
[Python-Grundkenntnisse] 1. Datentypen, Datenanwendungen, Datenkonvertierung
[Python-Grundkenntnisse] 2. Wenn bedingte Beurteilung und Bedingungsverschachtelung
[Python-Grundkenntnisse] 3.input() Funktionen
[Grundkenntnisse in Python] 4. Listen und Wörterbücher
[Grundkenntnisse in Python] 5. For-Schleifen und While-Schleifen
[Grundkenntnisse in Python] 6. Boolesche Werte und vier Arten von Anweisungen (break, continue, pass, else)
[Grundkenntnisse in Python] 7. Praktische Bedienung – Verwenden Sie Python, um das Spiel „Word PK“ zu implementieren (1)
[Python-Grundlagen] 7. Praktische Bedienung – Verwenden Sie Python, um das Spiel „Word PK“ zu implementieren (2)
[Python-Grundlagen] 8. Programmierdenken: So lösen Sie Probleme – Denkkapitel
[Grundkenntnisse in Python] 9. Definition und Aufruf von Funktionen
[Grundkenntnisse in Python] 10. Programme mit Funktionen schreiben – Praktisches Kapitel
[Grundkenntnisse in Python] 10. Verwendung von Python um das Stein-Schere-Papier-Spiel zu implementieren - Funktionsübungs-Operations-Kapitel
[Python-Grundlagen] 11. So debuggen Sie - Häufige Fehlerursachen und Ideen zur Fehlerbehebung - Denkkapitel
[Python-Grundlagen] 12. Klassen und Objekte (1)
[Python-Grundlagen] 12 . Klassen und Objekte (2)
[Python-Grundlagen] Wissen] 13. Klassen und Objekte (3)
[Grundkenntnisse über Python] 13. Klassen und Objekte (4)
[Grundkenntnisse über Python] 14. Aufbau eines Bibliotheksverwaltungssystems (praktisch). Betrieb von Klassen und Objekten)
[Grundkenntnisse in Python] 15. Grundkenntnisse im Programmieren
[Grundkenntnisse von Python] 16. Grundlagen des Lesens und Schreibens von Dateien sowie von Operationen
[Grundkenntnisse von Python] 16. Python-Implementierung von „Fragen zum Diktieren alter Gedichte“ (Lesen, Schreiben und Codieren von Dateien – praktischer Betrieb)
[Grundkenntnisse von Python] 17. Das Modulkonzept und die Einführung
[Python-Grundlagen] 18. Praktische Bedienung – Verwendung von Python zum automatischen Versenden von Massen-E-Mails
[Python-Grundlagen] 19. Produktdenken und Verwendung von Flussdiagrammen – Denken
[Python-Grundlagen] 20. Python-Implementierung „Was man zum Mittagessen essen soll“ (Produktdenken – Praktische Bedienung)
[Grundkenntnisse in Python] 21. Der richtige Weg, effizient und langsam zu öffnen – Abschluss
[Python-Dateiverarbeitung] Lesen, Verarbeiten und Schreiben von CSV-Dateien
[Python-Dateiverarbeitung ] Automatische Excel-Verarbeitung (mit openpyxl)
[Python-Dateiverarbeitung] - Excel-Formatverarbeitung
Python-Crawler-Kenntnisse
[Python-Crawler] 1. Grundkenntnisse über Crawler
[Python-Crawler] 2. Grundkenntnisse über Webseiten
[Python-Crawler] 3. Erste Erfahrungen mit Crawlern (BeautifulSoup-Analyse)
[Python-Crawler] 4. Praktischer Crawler-Betrieb (Dish-Crawling)
[Python Crawler] 5. Praktischer Crawler-Betrieb (Crawling-Texte)
[Python-Crawler] 6. Praktischer Crawler-Betrieb (Daten mit Parametern anfordern)
[Python-Crawler] 7. Wo werden die gecrawlten Daten gespeichert? [Python - Crawler] 8. Sehen Sie sich die Vergangenheit an
und lernen Sie das Neue kennen Melden Sie sich rechtzeitig bei Ihnen [Python-Crawler] 12. Bauen Sie Ihre Crawler-Armee auf [Python-Crawler] 13. Was Sie essen können, ohne dick zu werden (praktische Crawler-Übung) [Python-Crawler] 14. Erklärung des Scrapy-Frameworks [Python-Crawler] 15. Praxis des Scrapy-Frameworks (Beliebter Job-Crawler Take) [Python-Crawler] 16. Zusammenfassung und Überprüfung der Crawler-Wissenspunkte