In diesem Artikel untersuchen wir die Bedeutung gut organisierter Linux-Benutzer. Wir beschreiben Zugriffsrechte, angefangen beim Anlegen und Konfigurieren von Benutzern bis hin zum Gewähren des Zugriffs auf bestimmte Dateien und Ordner. Außerdem besprechen wir wichtige Sicherheitstools wie sudo und SELinux, die das System vor unerwünschten Aktivitäten schützen.
Die Bedeutung von Benutzerverwaltung und Zugriffsrechten unter Linux
In der Linux-Welt spielen Benutzerverwaltung und Zugriffsrechte eine zentrale Rolle. Stellen Sie sich Linux wie eine große Wohnung vor, in der jeder Benutzer ein Mieter und jede Datei ein Zimmer ist. Die Benutzerverwaltung entspricht der Vergabe eines individuellen Schlüssels an jeden Mieter, während die Zugriffsrechte festlegen, was dieser in seinem Zimmer tun darf.
Bei der Erstellung eines Benutzerkontos erhält dieser einen Namen und eine eindeutige Kennung ( UID ), vergleichbar mit einem persönlichen Wohnungsschlüssel. Jeder Benutzer gehört außerdem einer Gruppe an , die ihn mit anderen Mietern verbindet. Die Gruppe ist wie ein Club, in dem die Mitglieder gemeinsame Vorteile genießen.
Die Dateizugriffsrechte sind in drei Kategorien unterteilt: Eigentümer ( Benutzer ), Gruppe und Sonstige . Jeder Benutzer kann innerhalb jeder Kategorie über individuelle Lese-, Schreib- und Ausführungsrechte verfügen. Beispielsweise kann der Dateieigentümer Lese- und Schreibrechte besitzen, die Gruppe nur Leserechte und Sonstige keine.
Besondere Aufmerksamkeit verdienen Sicherheitsrichtlinien wie sudo und SELinux , die in Linux-Systemen verwendet werden. Sudo ist ein spezieller Befehl, der es normalen Benutzern ermöglicht, vorübergehend Superuser-Rechte (Root-Rechte) zu nutzen, um bestimmte Aufgaben auszuführen, die normalerweise nur Administratoren vorbehalten sind. Dies hilft, versehentliche Fehler oder den Missbrauch von Superuser-Rechten zu verhindern. Bei der Verwendung von sudo muss der Benutzer in der Regel sein Passwort eingeben, um seine Identität zu bestätigen. Anschließend kann er Befehle mit Superuser-Rechten (Root-Rechten) gemäß den in der sudoers- Datei festgelegten Regeln ausführen.
SELinux ist eine zusätzliche Sicherheitsebene für das Linux-Betriebssystem. Es überwacht, welche Programme und Dateien im System verwendet werden dürfen, und beschränkt den Zugriff darauf, um Eindringversuche und Angriffe zu verhindern. Dadurch wird der Server sicherer, da Hacking-Versuche und andere schädliche Aktionen unterbunden werden.
Erstellen und Verwalten von Benutzern
So erstellen Sie einen Benutzer unter Linux
Linux-Benutzer werden üblicherweise mit dem Befehl `useradd` erstellt . Um beispielsweise einen Benutzer mit dem Namen „Benutzername“ zu erstellen, geben Sie Folgendes ein:
useradd username
So legen Sie ein Linux-Benutzerkennwort fest
Nach der Erstellung eines Benutzers ist dessen Konto nicht durch ein Passwort geschützt. Um ein Passwort für einen neuen Benutzer festzulegen, verwenden Sie den Befehl passwd :
passwd username
Dabei ist Benutzername der Name des Benutzers, für den das Kennwort festgelegt wird.
So zeigen Sie eine Benutzerliste unter Linux an
Um eine Liste der Benutzer in Linux mit einem einzigen Befehl im Terminal anzuzeigen, können Sie den Befehl ` cut` verwenden :
cut -d: -f1 /etc/passwd
Dieser Befehl liest den Inhalt der Datei /etc/passwd , die Informationen über alle Benutzer enthält.
Um Informationen zu einem bestimmten Benutzer zu erhalten, können Sie den folgenden Befehl verwenden:
id username
Hier werden die Benutzer -ID (UID) , die Gruppen -ID (GID) und die Gruppen des Benutzers angezeigt.
Löschen eines Linux-Benutzers
Um einen Benutzer zu löschen, verwenden Sie den Befehl userdel :
userdel username
Dieser Befehl löscht jedoch nicht die Dateien im Home-Verzeichnis des Benutzers. Um diese zu entfernen, können Sie die Option -r verwenden:
userdel -r username
Dadurch werden der Benutzername sowie das Home-Verzeichnis und alle darin enthaltenen Dateien gelöscht.
Ändern eines Linux-Benutzers
Um Benutzerinformationen zu ändern, verwenden Sie den Befehl `usermod` . Das Tool verwendet folgende Syntax:
usermod argument user
Eine vollständige Liste der möglichen Argumente wird in der Hilfe des Dienstprogramms angezeigt:
Um beispielsweise das Home-Verzeichnis eines Benutzers zu ändern, verwenden Sie den folgenden Befehl:
usermod -d /new/path/to/directory username
Erstellen und Verwalten von Benutzergruppen unter Linux
Benutzergruppen in Linux ermöglichen es Administratoren, Benutzer mit ähnlichen Zugriffsrechten zu gruppieren. Dies erleichtert die Verwaltung von Zugriffsrechten und erhöht die Systemsicherheit, da Rechte auf Gruppenebene festgelegt werden können, anstatt für jeden Benutzer einzeln. Als Beispiel betrachten wir die Entwicklergruppe mit dem Benutzer „admin“.
So erstellen Sie eine Benutzergruppe unter Linux
Um eine neue Gruppe zu erstellen, verwenden Sie den Befehl groupadd mit dem Namen der neuen Gruppe:
sudo groupadd group_name
In unserem Beispiel würde der Befehl folgendermaßen aussehen:
sudo groupadd developers
So löschen Sie eine Benutzergruppe unter Linux
Um eine Gruppe zu löschen, verwenden Sie den Befehl groupdel :
sudo groupdel group_name
Daher lautet der Befehl:
sudo groupdel developers
Die Gruppe mit dem Namen „Entwickler“ wird gelöscht.
Hinzufügen von Benutzern zu einer Gruppe
Um einen Benutzer einer bestimmten Gruppe hinzuzufügen, verwenden Sie den Befehl usermod :
sudo usermod -aG group_name user_name
Beispielsweise:
sudo usermod -aG developers admin
Dieser Befehl fügt den Benutzer mit dem Namen admin der Gruppe developers hinzu.
Entfernen von Benutzern aus einer Gruppe
Um einen Benutzer aus einer Gruppe zu entfernen, verwenden Sie den Befehl deluser :
sudo deluser user_name group_name
Der Befehl zum Entfernen des Benutzers „admin“ aus der Gruppe „entwickler“ :
sudo deluser admin developers
Anzeigen von Gruppenlisten unter Linux
Um eine Liste aller Gruppen im System anzuzeigen, verwenden Sie den Befehl cat mit der Datei /etc/group :
cat /etc/group
Dieser Befehl zeigt eine Liste aller Gruppen im System an.
Überprüfen der Benutzergruppenmitgliedschaft
Nach dem Ausführen von Aktionen können Sie mit dem Befehl „Gruppen“ überprüfen, zu welchen Gruppen ein Benutzer gehört:
groups user_name
Damit haben wir die Grundlagen der Benutzergruppenverwaltung unter Linux erkundet. Nun geht es weiter mit der Zuweisung von Zugriffsrechten auf Dateien und Verzeichnisse. So können Sie festlegen, welche Aktionen Benutzer oder Gruppen für bestimmte Dateien und Verzeichnisse ausführen dürfen. So gewährleisten Sie ein effektives Sicherheitsmanagement und den Zugriff auf Systemressourcen.
Zuweisen von Zugriffsrechten auf Dateien und Verzeichnisse
Symbolische Darstellung von Zugriffsrechten
Wie wir bereits festgestellt haben, gibt es in Linux drei Benutzerkategorien: Eigentümer ( Benutzer ), Gruppe und Sonstige . Jede dieser Kategorien kann über bestimmte Zugriffsrechte auf Dateien oder Verzeichnisse verfügen:
- Lesen (Read - r): Ermöglicht das Anzeigen des Inhalts einer Datei oder eines Verzeichnisses.
- Schreiben (Write - w): Ermöglicht das Ändern einer Datei oder das Erstellen einer neuen Datei im Verzeichnis. Bei einem Verzeichnis ermöglicht dies auch das Löschen von Dateien.
- Ausführen (Ausführen - x): Ermöglicht das Ausführen der Datei (wenn es sich um eine ausführbare Datei handelt) oder das Aufrufen des Verzeichnisses (wenn es sich um ein Verzeichnis handelt).
In Linux-Systemen werden Zugriffsrechte durch eine zehnstellige Zeichenfolge dargestellt. Das erste Zeichen gibt den Dateityp an (normale Datei, Verzeichnis usw.), die restlichen neun Zeichen bilden drei Gruppen mit jeweils drei Zeichen für jede Benutzergruppe. Zum Verständnis betrachten wir ein Beispiel.
Zugriffsrechte -rwxr-xr-- bedeuten:
- Das erste Zeichen (-) gibt den Dateityp an (in diesem Fall eine normale Datei).
- Drei Zeichen für den Besitzer (rwx) zeigen an, dass der Besitzer Lese-, Schreib- und Ausführungsrechte hat.
- Drei Zeichen für die Gruppe (rx) zeigen an, dass Gruppenmitglieder nur Lese- und Ausführungsrechte haben.
- Drei Zeichen für andere (r--) bedeuten, dass andere Benutzer die Datei nur lesen können.
Die Zugriffsrechte werden mit dem Befehl chmod festgelegt . Die Syntax sieht wie folgt aus:
chmod [options] mode file(s)
Kennzahlen:
- [Optionen] – zusätzliche Parameter, wie z. B. -R zum rekursiven Ändern der Zugriffsrechte in einem Verzeichnis und seinen Unterverzeichnissen.
- Modus – eine spezielle Zeichenfolge, die angibt, welche Zugriffsrechte geändert werden und für wen. Der Modus kann durch Symbole (r, w, x) und Bits (0 oder 1) angegeben werden. Es können auch numerische Werte für den Modus verwendet werden (wir werden später darauf eingehen).
- Datei(en) – Dateien oder Verzeichnisse, auf die Änderungen angewendet werden.
Dieses Dienstprogramm ist ein ziemlich leistungsfähiges Tool, daher werden wir uns als Beispiel nur einige grundlegende Befehle ansehen.
Ändern Sie die Zugriffsrechte auf eine Datei, sodass der Eigentümer Lese- und Schreibrechte hat, die Gruppe nur Leserechte hat und andere Benutzer keine Rechte haben:
chmod u=rw,g=r,o= filename
Legen Sie für alle Benutzer die Zugriffsrechte zum Lesen und Schreiben einer Datei fest:
chmod a+rw filename
Zugriffsrechte für alle Dateien und Unterverzeichnisse in einem Verzeichnis rekursiv ändern:
chmod -R u+rwx directory
Numerische Darstellung von Zugriffsrechten
In der numerischen Darstellung hat jede Benutzerkategorie (Eigentümer, Gruppe, Sonstige) eine Nummer, und die Kombination dieser Nummern legt die endgültigen Zugriffsrechte fest. Ähnlich wie bei der symbolischen Darstellung hat jedes der drei Rechte einen Wert, allerdings in numerischer Form:
- Lesen (gelesen) - Wert 4
- Schreiben (Schreiben) - Wert 2
- Ausführen (Execute) - Wert 1
Um den Benutzertyp zu bestimmen, werden auch numerische Werte verwendet:
- Dateibesitzer (Benutzer) - die erste Ziffer
- Eigentümergruppe (Gruppe) - die zweite Ziffer
- Andere Benutzer (andere) - die dritte Ziffer
Die vollständige numerische Darstellung der Dateizugriffsrechte besteht somit aus drei Ziffern, die jeweils die Summe der Rechtewerte für eine bestimmte Benutzerkategorie darstellen. Dies ist etwas praktischer als die Verwendung von 10 Zeichen in der symbolischen Darstellung. Die Verwaltung würde in diesem Fall wie folgt aussehen:
chmod XYZ file
wobei X , Y und Z Zahlen sind, die die Zugriffsrechte für den Eigentümer, die Gruppe bzw. andere Benutzer darstellen.
Um beispielsweise dem Eigentümer volle Zugriffsrechte (Lesen, Schreiben und Ausführen) zu erteilen und der Gruppe und anderen Benutzern nur Lese- und Ausführungsrechte zu gewähren, können Sie den folgenden Befehl verwenden:
chmod 755 file
Betrachten wir weitere Beispiele:
chmod 700 file
Nur der Eigentümer hat Lese-, Schreib- und Ausführungsrechte, während die Gruppe und andere Benutzer keine Zugriffsrechte haben.
chmod 644 file
Der Eigentümer verfügt über Lese- und Schreibrechte, während die Gruppe und andere Benutzer nur Leserechte haben.
chmod 751 file
Der Eigentümer hat volle Rechte, die Gruppe hat Lese- und Ausführungsrechte und andere Benutzer haben nur Ausführungsrechte.
Wie bereits erwähnt, verfügt das Tool über sehr umfangreiche Funktionen. In einigen Fällen reichen die im Abschnitt „Hilfe“ verfügbaren Optionen nicht aus:
Beachten Sie die letzte Zeile. Mit diesem Befehl öffnen Sie eine ausführlichere Dokumentation zum Tool. Sie können auch die offizielle Wikipedia- Seite des Dienstprogramms besuchen, wo Sie detaillierte Informationen zu Chmod finden.
Fazit
Linux-Benutzer und deren Verwaltung sind für die Sicherheit und den stabilen Betrieb des Betriebssystems von entscheidender Bedeutung. In diesem Artikel haben wir die Bedeutung einer effektiven Benutzer- und Zugriffsrechteverwaltung unter Linux hervorgehoben. Dabei geht es um die Erstellung und Verwaltung von Benutzern, die Arbeit mit Benutzergruppen und die Zuweisung von Zugriffsrechten auf Dateien und Verzeichnisse.