Drei Protokolle. Eine Partition. Zwei Server. Und irgendwo ein Fehler –
oder mehrere. Das hier ist kein Tutorial.
Ein Unternehmen braucht einen zentralen Dateiserver. Keine Cloud, kein Fertigprodukt – ein echter RHEL-Server, den du von Grund auf aufbaust und anschließend unter realen Fehlerbedingungen reparierst.
Dieses Projekt hat zwei Phasen:
| Phase | Was du tust | Wie |
|---|---|---|
| 1 – Aufbau | Du baust den Freigabeserver vollständig selbst auf | Konstruktiv, Schritt für Schritt |
| 2 – Fehlersuche | Du bekommst einen kaputten Server und reparierst ihn | Diagnostisch, systematisch |
Beide Phasen sind Pflicht. Phase 2 setzt voraus, dass du Phase 1 verstanden hast – nicht nur durchgeführt.
Dieses Projekt benötigt zwei separate RHEL-VMs im selben Netzwerk:
Beide VMs müssen sich gegenseitig per DNS erreichen können. Dein Ausbilder richtet die Umgebung ein und gibt dir den Startschuss.
Außerdem solltest du mitbringen:
Was du nach diesem Projekt kannst – und erklären kannst:
Du baust den Server Schritt für Schritt auf. Dein Ausbilder schaltet Phasen frei, sobald die vorherige abgenommen ist. Die Reihenfolge ist nicht zufällig – jeder Baustein hängt vom vorherigen ab:
| Schritt | Baustein | Warum in dieser Reihenfolge |
|---|---|---|
| 0 | LVM & Partition | Alle Freigaben liegen auf einem eigenen Logical Volume |
| 1 | DNS | Ohne Namensauflösung sind alle weiteren Tests über Hostnamen wertlos |
| 2 | NFS | Netzwerkdateisystem für Linux-Clients |
| 3 | Samba | SMB-Freigabe für Windows-Clients |
| 4 | SFTP | SSH-basierter Zugriff mit Chroot |
| 5 | rsync / Cron | Automatisierte Sicherung auf den Client |
Abnahme je Schritt: Der Ausbilder prüft, ob deine Konfiguration korrekt ist, bevor der nächste Schritt freigeschaltet wird. Tempo ist dabei kein Maßstab – Verständnis ist es.
Die vollständige Schritt-für-Schritt-Anleitung liegt im Aufbau-Dokument (siehe unten).
Dein Ausbilder versetzt den Server, den du in Phase 1 aufgebaut hast, in einen fehlerhaften Zustand. Alle Bausteine funktionierten vorher – jetzt ist mindestens einer davon gestört.
Das Ziel ist erreicht, wenn:
rsync synchronisiert erfolgreich auf den ClientDer Test erfolgt sowohl lokal auf fs01 als auch vom azubi-server aus. Nur lokal funktioniert gilt nicht.
Du weißt vorher nicht, wie viele Fehler eingebaut sind. Es gibt drei Schwierigkeitsstufen – welche du bekommst, entscheidet dein Ausbilder:
| Level | Charakter |
|---|---|
| Easy | Wenige, klar abgegrenzte Fehler in einem Bereich |
| Medium | Mehrere Fehler in verschiedenen Schichten, die sich gegenseitig verdecken können |
| Hard | Alle Komponenten betroffen – volle Komplexität |
⚠ Keine Holzhammer-Lösungen
Folgende Maßnahmen gelten in beiden Phasen nicht als Lösung:
setenforce 0 – SELinux deaktivierensystemctl stop firewalld – die Firewall abschaltenchmod 777 auf FreigabeverzeichnisseFinde die eigentliche Ursache. Behebe genau die. Alles andere ist Symptombehandlung – und fällt im Nachgespräch sofort auf.
Verändere nur, was für die Fehlerbehebung nötig ist. Wenn du dir bei einer Änderung nicht sicher bist, dokumentiere die Überlegung – auch das zählt.
Auch hier gilt: von außen nach innen – und bei diesem Projekt gibt es eine wichtige Reihenfolge innerhalb der Schichten:
| Schritt | Frage | Warum zuerst |
|---|---|---|
| 1. DNS | Löst dig beide Hostnamen korrekt auf? | Ohne DNS sind alle Folgetests über Hostnamen wertlos |
| 2. Partition / Mount | Ist /srv/freigabe gemountet, mit korrekten Besitzrechten? | Alle Protokolle greifen auf denselben Mountpoint zu |
| 3. NFS | Werden Exports angezeigt? Mountet der Client? | showmount -e, Testmount vom Client |
| 4. Samba | Ist die Konfiguration syntaktisch korrekt? Erscheint die Freigabe? | testparm, smbclient -L |
| 5. SFTP | Verbindet der Client? Kann er in den Upload-Ordner schreiben? | sftp, Chroot-Prüfung |
| 6. Automatisierung | Läuft das Sync-Skript manuell? Funktioniert der Cron-Job? | Zuletzt – setzt alle anderen Komponenten voraus |
Nach jeder Änderung neu testen. Ein behobener Fehler kann den nächsten erst sichtbar machen.
SELinux-Hinweis: Nicht vorschnell verdächtigen – und niemals abschalten. Erst getenforce und ausearch -m avc -ts recent prüfen. SELinux meldet genau, was es blockiert hat.
Du musst nicht alle Befehle auswendig kennen. Teil der Übung ist, sie bei Bedarf nachzuschlagen – man <befehl>, <befehl> --help, oder das Vorbereitungsdokument.
| Bereich | Werkzeuge und Ansatzpunkte |
|---|---|
| DNS | dig, named-checkconf, named-checkzone |
| Storage / Mount | df -h, mount, lsblk, ls -la |
| NFS | showmount -e, exportfs -v, journalctl -u nfs-server |
| Samba | testparm, smbclient -L, journalctl -u smb |
| SFTP / SSH | sshd -t, sftp, journalctl -u sshd |
| SELinux | getenforce, ls -Z, getsebool -a, ausearch -m avc -ts recent |
| Firewall | firewall-cmd --list-services, firewall-cmd --list-ports |
| Automatisierung | crontab -l, tail -f /var/log/sync-freigabe.log |
Halte für jeden gefundenen Fehler fest:
Diese Dokumentation ist zu 20 % Teil der Bewertung. Nicht nur das Endergebnis zählt.
| Kriterium | Anteil |
|---|---|
| Alle Fehler gefunden und dauerhaft behoben | 40 % |
| Korrekte, nachhaltige Lösung (kein Quick Fix) | 30 % |
| Klare, nachvollziehbare Dokumentation | 20 % |
| Selbstständigkeit | 10 % |
Das ist normal. Ein Freigabeserver hat viele Komponenten, die sich gegenseitig beeinflussen – das ist kein Fehler im Projekt, sondern sein Kern.
Abgabe: Kurze Zusammenfassung anhand deiner Dokumentation, plus Live-Demo aller drei Freigabewege und eines erfolgreichen manuellen Sync-Laufs – vom Client aus getestet.
Nachbesprechung mit dem Ausbilder:
Diese Reflexion ist genauso wichtig wie die technische Fertigstellung.
Alle Unterlagen – als LaTeX oder PDF
Lies das Vorbereitungsdokument, bevor du mit Phase 1 beginnst.
Lösungshinweise für Ausbilder sind ausschließlich in den Ausbilder-Dokumenten enthalten und hier nicht verlinkt.
Overleaf (Quelldateien + Live-Vorschau):
→ Overleaf: Azubi-Projekt Freigabeserver
↑ Übersicht – Der Weg zur Macht
← Projekt: Java Applikationsserver
„Drei Protokolle, eine Ursache – oder drei Ursachen. Das Logfile weiß es.
Du musst nur lernen, es zu fragen.“
[azubi02@rhel9-kurs ~]$ _