TAG 05: Der Hüter der Schlüssel

LinuxBeginner
Jetzt üben

Einführung

Willkommen an deinem letzten Tag der Woche bei der LabEx Corporation! Es war eine unglaubliche Reise, von deiner ersten Aufklärungsmission bis hin zum Festungswächter. Nun befördert dich das Unternehmen in die ultimative Vertrauensposition: Hüter der Schlüssel für das Projekt Phoenix.

Der CTO bittet dich zu einem kritischen Briefing: „Projekt Phoenix tritt in die finale Phase ein, und wir benötigen absolute Kontrolle darüber, wer Zugriff auf unsere Systeme hat. Wir stellen eine neue Senior-Entwicklerin ein, Brenda Smith, die den letzten Schub bis zur Fertigstellung leiten wird. Leider haben wir auch entdeckt, dass John Doe, ein externer Mitarbeiter aus dem vorherigen Team, während des Sicherheitsvorfalls, den du zuvor untersucht hast, unbefugten Zugriff hatte. Sein Zugang muss sofort entzogen werden.“

Als Hüter der Schlüssel kontrollierst du nun das menschliche Gateway zu Projekt Phoenix. Deine Entscheidungen in der Benutzerverwaltung bestimmen, wer zum wichtigsten Projekt von TechNova beitragen darf und wer aus Sicherheitsgründen ausgesperrt werden muss.

Dies ist dein Moment, um die vollständige Beherrschung der Linux-Benutzerverwaltung zu demonstrieren. Die Zukunft von Projekt Phoenix hängt von deiner Fähigkeit ab, denjenigen Zugriff zu gewähren, die ihn benötigen, und ihn denjenigen zu verweigern, die das System gefährden könnten. Lass uns diese Mission abschließen!

Onboarding eines neuen Entwicklers für das System

Deine erste Aufgabe ist es, ein neues Benutzerkonto für Brenda Smith zu erstellen, die Senior-Entwicklerin, die die finale Entwicklungsphase von Projekt Phoenix leiten wird. Die Richtlinie von TechNova schreibt vor, dass Benutzernamen dem Format first_initial.last_name folgen müssen.

Aufgaben

  • Erstelle ein neues Benutzerkonto für Brenda Smith.

Anforderungen

  • Der Benutzername muss b.smith lauten.
  • Verwende den Befehl useradd, um den neuen Benutzer zum System hinzuzufügen. Du benötigst dafür sudo-Rechte.

Hinweise

  • Diese Challenge erwartet den Standardbefehl useradd anstelle des interaktiven adduser-Hilfsprogramms.
  • Denke daran, sudo zu verwenden, um Befehle mit administrativen Rechten auszuführen.

Beispiele

Nachdem du das neue Benutzerkonto erfolgreich erstellt hast, solltest du den Benutzereintrag in der Benutzerdatenbank des Systems sehen:

$ grep "b.smith" /etc/passwd
b.smith:x:5002:5004::/home/b.smith:/bin/sh

Das Benutzerkonto wird mit einer vom System zugewiesenen Benutzer-ID und Gruppen-ID erstellt. Du kannst überprüfen, ob das Konto existiert, und seine Details mit folgendem Befehl einsehen:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith)
✨ Lösung prüfen und üben

Erstellen eines dedizierten Home-Verzeichnisses für den neuen Benutzer

Du hast den Benutzer erstellt, aber einen entscheidenden Schritt vergessen! Brenda benötigt als Senior-Entwicklerin, die die finale Phase von Projekt Phoenix leitet, ihren eigenen sicheren Arbeitsbereich, um kritische Projektdateien und Entwicklungstools zu speichern. Du musst sicherstellen, dass ein Home-Verzeichnis für sie erstellt wird.

Aufgaben

  • Erstelle ein Home-Verzeichnis für den Benutzer b.smith unter /home/b.smith.

Anforderungen

  • Das Home-Verzeichnis muss für den Benutzer b.smith erstellt werden.
  • Du solltest eine Option des Befehls useradd verwenden, um das Home-Verzeichnis automatisch zu erstellen. Falls du den Benutzer bereits ohne Home-Verzeichnis erstellt hast, musst du ihn möglicherweise zuerst löschen und dann korrekt neu erstellen.
  • Gültige Lösungen sind entweder -m oder --create-home, und das Flag kann vor oder nach dem Benutzernamen stehen.

Hinweise

  • Um einen Benutzer zu löschen, kannst du den Befehl userdel verwenden. Beispiel: sudo userdel b.smith.
  • Der Befehl useradd verfügt über ein spezielles Flag, um ein Home-Verzeichnis für den Benutzer zu erstellen. Überprüfe die man useradd-Seite auf eine Option wie -m oder --create-home.

Beispiele

Nachdem du den Benutzer mit einem Home-Verzeichnis erstellt hast, solltest du das neue Verzeichnis in der Auflistung der Home-Verzeichnisse sehen:

$ ls -la /home/
drwxr-xr-x 1 root root 47 Sep 3 16:32 .
drwxr-xr-x 1 root root 62 Sep 3 16:31 ..
-rw-r--r-- 1 root root 58 Jul 18 2024 .zshrc
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 b.smith
drwxr-x--- 2 j.doe j.doe 57 Sep 3 16:31 j.doe
drwxr-x--- 1 labex labex 4096 Sep 3 16:35 labex

Das Home-Verzeichnis gehört dem Benutzer und hat eingeschränkte Berechtigungen (nur für den Besitzer und die Gruppe zugänglich). Um den Inhalt anzuzeigen, benötigst du möglicherweise entsprechende Berechtigungen oder musst sudo verwenden:

$ sudo ls -la /home/b.smith/
drwxr-x--- 2 b.smith b.smith 57 Sep 3 16:32 .
drwxr-xr-x 1 root root 47 Sep 3 16:32 ..
-rw-r--r-- 1 b.smith b.smith 220 Sep 3 16:32 .bash_logout
-rw-r--r-- 1 b.smith b.smith 3771 Sep 3 16:32 .bashrc
-rw-r--r-- 1 b.smith b.smith 655 Sep 3 16:32 .profile
✨ Lösung prüfen und üben

Zuweisen eines anfänglichen Passworts für den neuen Benutzer

Das Benutzerkonto b.smith ist erstellt, aber es ist derzeit gesperrt. Brenda kann nicht auf die Systeme von Projekt Phoenix zugreifen, um ihre Führungsrolle zu beginnen, ohne ein Passwort. Deine nächste Aufgabe ist es, ein sicheres anfängliches Passwort für ihr Konto festzulegen.

Aufgaben

  • Lege ein Passwort für den Benutzer b.smith fest.

Anforderungen

  • Verwende den Standard-Linux-Befehl, um das Passwort eines Benutzers zu ändern.
  • Du wirst aufgefordert, das neue Passwort einzugeben und zu bestätigen. Du kannst ein beliebiges einfaches Passwort verwenden, zum Beispiel password123.

Hinweise

  • Der Befehl zum Festlegen oder Ändern von Passwörtern lautet passwd.
  • Da du das Passwort für einen anderen Benutzer änderst, benötigst du sudo-Rechte. Die Syntax lautet sudo passwd <username>.

Beispiele

Nachdem das Passwort erfolgreich festgelegt wurde, sollte das Benutzerkonto einen Passwort-Hash in der Shadow-Datei haben. Du kannst dies überprüfen, indem du die Shadow-Datei untersuchst (Hinweis: Dies erfordert Root-Rechte):

$ sudo grep "^b.smith:" /etc/shadow
b.smith:$y$j9T$XbJLH9LJgY518Th4qcd1V0$NrfHOJ2MGm/1OhLGfpfMQkvPasV23Eenhwl9bA0i8O4:20334:0:99999:7:::
✨ Lösung prüfen und üben

Hinzufügen des neuen Entwicklers zur Gruppe "developers"

Um sicherzustellen, dass Brenda Zugriff auf die Dateien und Repositories von Projekt Phoenix hat, die du die ganze Woche über abgesichert hast, muss sie zur Gruppe developers hinzugefügt werden. Dies ist dieselbe Gruppe, mit der du während deiner Zeit bei TechNova gearbeitet hast, und sie verfügt über die speziellen Berechtigungen, die für das Projekt erforderlich sind.

Aufgaben

  • Füge den Benutzer b.smith zur Gruppe developers hinzu.

Anforderungen

  • Der Benutzer b.smith muss Mitglied der Gruppe developers sein.
  • Die bestehenden Gruppenzugehörigkeiten des Benutzers dürfen nicht entfernt werden.

Hinweise

  • Der Befehl usermod wird verwendet, um ein Benutzerkonto zu ändern.
  • Suche nach den Flags -a (append) und -G (groups). Die gemeinsame Verwendung stellt sicher, dass du den Benutzer zu einer neuen Gruppe hinzufügst, ohne ihn aus bestehenden Gruppen zu entfernen.

Beispiele

Nachdem du den Benutzer erfolgreich zur Gruppe developers hinzugefügt hast, solltest du die Gruppenzugehörigkeit in der Gruppenliste des Benutzers sehen:

$ groups b.smith
b.smith : b.smith developers

Du kannst auch den Befehl id verwenden, um detailliertere Gruppeninformationen zu sehen:

$ id b.smith
uid=5002(b.smith) gid=5004(b.smith) groups=5004(b.smith),5003(developers)

Der Benutzer sollte nun Zugriff auf Dateien und Verzeichnisse haben, die für die Gruppe developers zugänglich sind. Du kannst die Gruppendatei überprüfen, um zu bestätigen, dass die Gruppe existiert:

$ grep "^developers:" /etc/group
developers:x:5003:b.smith

Beachte, dass b.smith in der Liste der Gruppenmitglieder erscheint. Dies bestätigt, dass der Benutzer erfolgreich zur Gruppe hinzugefügt wurde, während seine bestehenden Gruppenzugehörigkeiten erhalten blieben.

✨ Lösung prüfen und üben

Vorübergehendes Deaktivieren des Kontos eines ausscheidenden Mitarbeiters

Nun zu deiner letzten Aufgabe der Woche – und der kritischsten Sicherheitsmaßnahme für Projekt Phoenix. John Doe (j.doe) wurde während deiner früheren Untersuchung als jemand identifiziert, der möglicherweise unbefugten Zugriff während des Sicherheitsvorfalls hatte. Der CTO hat seine sofortige Entfernung von allen TechNova-Systemen angeordnet. Da die Rechts- und Compliance-Teams seine Dateien jedoch für das laufende Sicherheitsaudit aufbewahren müssen, musst du das Konto sperren, anstatt es vollständig zu löschen.

Aufgaben

  • Sperre das Benutzerkonto für j.doe, um Anmeldungen zu verhindern.

Anforderungen

  • Das Benutzerkonto j.doe muss gesperrt sein.
  • Lösche weder den Benutzer noch sein Home-Verzeichnis.

Hinweise

  • Du kannst den Befehl usermod mit der Option -L (lock) verwenden.
  • Alternativ hat der Befehl passwd ein Flag -l (lock), das dasselbe Ergebnis erzielt.
  • Denke daran, sudo zu verwenden.

Beispiele

Du kannst überprüfen, ob das Konto gesperrt ist, indem du die Shadow-Datei untersuchst:

$ sudo grep "^j.doe:" /etc/shadow
j.doe:!:20334:0:99999:7:::

Beachte das Ausrufezeichen (!) am Anfang des Passwortfeldes – dies zeigt an, dass das Konto gesperrt ist. Der ursprüngliche Passwort-Hash bleibt nach dem ! für eine mögliche zukünftige Entsperrung erhalten.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch, Hüter der Schlüssel! Du hast deine unglaubliche erste Woche bei der LabEx Corporation erfolgreich abgeschlossen und Projekt Phoenix für den letzten Schub zur Fertigstellung abgesichert.

Während dieser transformativen Woche hast du dich von einem neuen Junior-Systemadministrator zu einem vertrauenswürdigen Wächter der kritischsten Systeme von TechNova entwickelt. In deiner letzten Challenge hast du wesentliche Befehle zur Benutzerverwaltung gemeistert:

  • Ein neues Benutzerkonto für die Senior-Entwicklerin erstellt, die die Fertigstellung von Projekt Phoenix leitet.
  • Sichere Home-Verzeichnisse für kritische Teammitglieder konfiguriert.
  • Robuste Passwortrichtlinien mit passwd implementiert.
  • Gruppenzugehörigkeiten verwaltet, um den ordnungsgemäßen Zugriff auf Ressourcen von Projekt Phoenix sicherzustellen.
  • Das System gesichert, indem unbefugter Zugriff deaktiviert wurde, während Audit-Trails erhalten blieben.

Von der ersten Aufklärung über digitale Architektur, Protokolluntersuchung, Sicherheitsimplementierung bis hin zur Benutzerverwaltung – du hast das komplette Skillset eines professionellen Systemadministrators demonstriert. Der CTO hat deine Festanstellung bestätigt und diskutiert bereits Beförderungsmöglichkeiten.

Projekt Phoenix ist nun in sicheren Händen, und die Zukunft von TechNova ist dank deines Engagements und deiner Expertise gesichert!