1. Aufgabenstellung
Also, wir haben eine intensive praktische Arbeit vor uns, bei der ihr das gesamte Wissen anwenden könnt, das ihr in den vorherigen Vorlesungen gesammelt habt. Wir werden Benutzer erstellen, sie in Gruppen zusammenfassen, einzigartige Zugriffsrechte festlegen und Prozesse im System verwalten. Und falls ihr euch fragt: "Und wozu brauche ich das alles?", stellt euch vor, ihr seid ein/e Systemadministrator/in oder DevOps-Engineer, und ihr müsst einen Server für die Zusammenarbeit im Team konfigurieren. Oder vielleicht möchtet ihr einfach euren Computer vor Chaos retten! In der realen Welt treten solche Situationen ziemlich oft auf.
Euer Ziel ist es, das System für die folgenden Benutzer und Prozesse zu konfigurieren:
- Erstellt zwei Benutzer:
user1unduser2. Sie sollen in der Gruppedeveloperszusammenarbeiten. - Konfiguriert eine Datei (zum Beispiel
project.txt) so, dass nur Mitglieder der Gruppedeveloperssie bearbeiten können. - Erstellt mehrere Prozesse (zum Beispiel mit dem Befehl
sleep) und lernt, sie bei Bedarf zu beenden. - Seht euch die aktiven Prozesse an, um festzustellen, welche davon die meisten Ressourcen verbrauchen.
Klingt wie ein Plan? Lasst uns ihn Schritt für Schritt umsetzen.
2. Schritt 1: Benutzer erstellen
1. Benutzer erstellen
Als erstes erstellen wir zwei Benutzer:
sudo adduser user1
sudo adduser user2
Bei der Ausführung dieser Befehle wird das System dich bitten, ein Passwort einzurichten und eine Beschreibung für jeden Benutzer einzugeben. Wir lassen hier unnötige Daten weg, du kannst einfach Enter drücken.
Für jeden Benutzer wird automatisch ein Home-Verzeichnis unter /home erstellt. Du kannst das überprüfen:
ls /home
Wenn du lokal arbeitest, vergiss nicht sudo zu verwenden, um Administratorrechte zu erhalten. Falls du unter WSL arbeitest, sei darauf vorbereitet, dass es Besonderheiten mit Benutzern geben kann. Zum Beispiel ist der Standardbenutzer unter WSL bereits Systemadministrator.
3. Schritt 2: Erstellen einer Gruppe und Hinzufügen von Benutzern
1. Gruppe erstellen
Damit die Benutzer zusammen an Projekten arbeiten können, fügen wir sie einer Gruppe hinzu. Zuerst erstellen wir eine Gruppe developers:
sudo groupadd developers
2. Benutzer zur Gruppe hinzufügen
Jetzt fügen wir die Benutzer user1 und user2 in die Gruppe developers hinzu. Verwenden wir den Befehl usermod für diese Aufgabe:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. Mitgliedschaft in der Gruppe überprüfen
Um sicherzustellen, dass die Benutzer korrekt der Gruppe hinzugefügt wurden, führen Sie Folgendes aus:
groups user1
groups user2
Sie sollten sehen, dass user1 und user2 Mitglieder der Gruppe developers sind.
4. Schritt 3: Arbeiten mit Dateien und Zugriffsrechten
1. Erstellen wir eine Datei für das Projekt
Wir erstellen eine Datei project.txt im Home-Verzeichnis eines Benutzers (zum Beispiel user1):
sudo -u user1 touch /home/user1/project.txt
Der Befehl sudo -u ermöglicht es uns, Aktionen im Namen eines anderen Benutzers auszuführen.
2. Besitzer und Gruppe der Datei ändern
Wir weisen user1 als Besitzer und developers als Gruppe zu, damit beide Benutzer denselben Zugriff haben:
sudo chown user1:developers /home/user1/project.txt
3. Zugriffsrechte konfigurieren
Jetzt ändern wir die Zugriffsrechte der Datei. Wir verwenden den Befehl chmod:
sudo chmod 660 /home/user1/project.txt
Was haben wir gemacht? Wir haben dem Besitzer user1 und der Gruppe developers Lese- und Schreibrechte rw- gegeben, und alle anderen haben keinen Zugriff.
Du kannst die Zugriffsrechte mit dem Befehl ls überprüfen:
ls -l /home/user1/project.txt
Erwartetes Ergebnis:
-rw-rw---- 1 user1 developers 0 Datum Zeit /home/user1/project.txt
5. Schritt 4: Prozesse starten
1. Prozesse starten
Zum Ausprobieren erstellen wir ein paar "langlebige" Prozesse mit dem Befehl sleep:
sleep 300 &
sleep 400 &
sleep 500 &
Jeder sleep-Befehl wird dank des Symbols & im Hintergrund gestartet.
Um die Liste der Prozesse zu überprüfen, benutze den Befehl ps:
ps
Mehr Informationen kannst du mit ps aux sehen:
ps aux | grep sleep
6. Schritt 5: Prozesse beenden
1. Einen Prozess mit PID beenden
Finde die PID eines Prozesses (zum Beispiel sleep) und beende ihn:
kill PID
Hierbei ist PID die Prozess-ID, die du mit dem Kommando ps herausfinden kannst.
2. Einen Prozess mit Namen beenden
Wenn du alle Prozesse namens sleep beenden möchtest, benutze den Befehl killall:
killall sleep
3. Verwendung von pkill
Wenn du dich nicht an den genauen Namen des Prozesses erinnerst, hilft pkill, den Prozess mit einer teilweisen Übereinstimmung des Namens zu beenden:
pkill slee
7. Schritt 6: Prozessüberwachung
Um die Systemlast zu überwachen, nutze:
top— für Echtzeit-Arbeit:topHier kannst du die CPU-Auslastung, den Speicher und aktive Prozesse beobachten. Verwende die Tastenkombination
k, um einen Prozess direkt aus der Oberfläche zu beenden.htop— eine benutzerfreundlichere Oberfläche (falls installiert):
Um zu beenden, drückehtopF10.
8. Checkliste
Nachdem du alle Schritte durchgeführt hast, solltest du sicherstellen, dass:
- Zwei Benutzer
user1unduser2erstellt wurden. - Eine Gruppe
developerserstellt und konfiguriert wurde, zu der beide Benutzer hinzugefügt wurden. - Eine Datei
project.txterstellt wurde, die nur für die Gruppedeveloperszugänglich ist. - Einige Prozesse mit den Befehlen
kill,killallundpkillerstellt und beendet wurden. - Du die Liste der Prozesse erfolgreich mit
ps,topoderhtopangesehen hast.
Wenn alles erledigt ist – Glückwunsch! Du hast alle grundlegenden Schritte zur Verwaltung von Benutzern, Gruppen, Berechtigungen und Prozessen in Linux durchlaufen. Möge die Macht der Konsole mit dir sein!
GO TO FULL VERSION