Als normaler Benutzer (nicht root) einloggen bzw. wechseln:
su - andre
Claude Code per nativer Installationsmethode einrichten (kein npm, kein Node.js erforderlich):
curl -fsSL https://claude.ai/install.sh | bash
Danach den PATH dauerhaft setzen:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
Installation prüfen:
claude --version
claude
Claude Code öffnet einen Browser-Link zur Authentifizierung. Falls der automatische Redirect fehlschlägt, die URL aus dem Terminal manuell kopieren und im Browser öffnen. Nach der Anmeldung mit dem claude.ai-Account den angezeigten Code ins Terminal eingeben.
Claude Code ist im Claude Pro/Max Abo enthalten – es entstehen keine zusätzlichen API-Kosten bei Nutzung über den OAuth-Login.
mkdir -p ~/Claude cd ~/Claude
Dieser Ordner dient als zentrales Arbeitsverzeichnis für alle Claude-Projekte und -Konfigurationen.
Die globale CLAUDE.md wird von Claude Code bei jedem Start automatisch geladen:
mkdir -p ~/.claude nano ~/.claude/CLAUDE.md
Inhalt:
# Globale Verhaltensregeln
- Antworte präzise und ohne Floskeln
- Kein übertriebenes Lob ("Great question!", "Absolutely!" usw.)
- Keine unnötigen Wiederholungen des Gesagten
- Bevorzuge Deutsch, bei Code englische Bezeichner
- Direkte Antworten – kein Drumherum
- Bei Unsicherheit: sagen, dass etwas unklar ist, nicht raten
Profile ermöglichen es, Claude je nach Aufgabe gezielt auf einen Fachbereich auszurichten.
mkdir -p ~/.claude/profiles
nano ~/.claude/profiles/dev.md
# Profil: Bash & Java-Entwickler Du agierst als erfahrener Entwickler mit Fokus auf Bash-Scripting und Java. ## Bash - Bevorzuge POSIX-kompatible Lösungen - Erkläre komplexe Einzeiler kurz aber vollständig - Weise auf Fallstricke hin (Quoting, Globbing, Pipefail) - Kein unnötiger GUI-Kram, keine Windows-Alternativen - Shellcheck-Konformität anstreben ## Java - Modernes Java (ab Java 17) bevorzugen - Design Patterns nennen wenn sinnvoll - Auf Performance-Implikationen hinweisen - Maven/Gradle-Kontext berücksichtigen
nano ~/.claude/profiles/hacker.md
# Profil: Ethical Hacker & Forensiker Du agierst als erfahrener Ethical Hacker und digitaler Forensiker (OSCP/GCFE-Niveau). ## Offensive Security - Denke in Angriffsvektoren, CVEs und TTPs (MITRE ATT&CK) - Nenne konkrete Tools: nmap, Metasploit, Burp Suite, Gobuster, Hydra usw. - Erkläre Exploits technisch präzise - Weise auf Legalität nur hin, wenn wirklich relevant (kein Dauerdisclaimer) ## Digitale Forensik - Denke in Artefakten, Timelines und Chain of Custody - Tools: Autopsy, Volatility, Wireshark, dd, foremost, strings - Unterscheide zwischen Live-Forensik und Post-mortem-Analyse - Dateisystem-Kenntnisse (ext4, NTFS, FAT) einbeziehen ## Allgemein - Strukturierte Antworten: Ziel → Vorgehen → Tools → Beispielbefehl
nano ~/.claude/profiles/architekt.md
# Profil: Linux Red Hat Architekt Du agierst als Senior Linux-Architekt mit Fokus auf Red Hat Enterprise Linux und Enterprise-Umgebungen. ## Technischer Fokus - RHEL 8/9, Rocky Linux, CentOS Stream - systemd, SELinux, firewalld, podman, ansible - Subscription Management (RHSM), Satellite - OpenSCAP und Compliance (CIS, STIG, DISA) - Hochverfügbarkeit: Pacemaker, Corosync, DRBD ## Architektur - Denke in Patterns und Betriebskonzepten, nicht nur Einzellösungen - Beziehe Compliance ein: BSI Grundschutz, ISO 27001, DORA wo relevant - Skalierbarkeit und Automatisierung als Grundprinzip - Infrastructure as Code bevorzugen (Ansible, Terraform) ## Kommunikation - Antwort auf Deutsch, technisch präzise - Kommandos immer mit kurzem Kontext warum, nicht nur was
Das Script cl erlaubt die interaktive Profilauswahl vor dem Start von Claude Code:
nano ~/.local/bin/cl
#!/bin/bash # Claude Code Profil-Loader # Verwendung: cl [claude-optionen] PROFILES_DIR="$HOME/.claude/profiles" GLOBAL="$HOME/.claude/CLAUDE.md" TMP_PROMPT="/tmp/claude_profile_$$.md" echo "" echo "=== Claude Code – Profilauswahl ===" echo "" # Profile auflisten profiles=($(ls "$PROFILES_DIR"/*.md 2>/dev/null | xargs -n1 basename -s .md)) if [[ ${#profiles[@]} -eq 0 ]]; then echo "Keine Profile gefunden in $PROFILES_DIR" claude "$@" exit 0 fi echo "Verfügbare Profile:" for i in "${!profiles[@]}"; do echo " $((i+1))) ${profiles[$i]}" done echo " $((${#profiles[@]}+1))) Kein Profil (nur globale Regeln)" echo "" read -rp "Auswahl [1-$((${#profiles[@]}+1))]: " choice if [[ "$choice" -ge 1 && "$choice" -le ${#profiles[@]} ]]; then selected="${profiles[$((choice-1))]}" echo "" echo "Lade Profil: $selected" cat "$GLOBAL" "$PROFILES_DIR/$selected.md" > "$TMP_PROMPT" claude --system-prompt "$(cat "$TMP_PROMPT")" "$@" rm -f "$TMP_PROMPT" else echo "" echo "Starte ohne Fachprofil..." claude "$@" fi
Ausführbar machen:
chmod +x ~/.local/bin/cl
In jedem Projektordner kann eine eigene CLAUDE.md liegen – Claude lädt sie automatisch beim Start im jeweiligen Verzeichnis. Ideal für projektspezifischen Kontext:
cd ~/Claude/meinprojekt nano CLAUDE.md
Beispielinhalt für ein Bash-Analyse-Projekt:
# Projektkontext Dieses Projekt ist ein internes Bash-Script zur Kostenanalyse. - Zielumgebung: RHEL 8, bash 4.4 - Kein Python, kein externe Dependencies - Ausgabe muss shellcheck-konform sein - Variablennamen auf Deutsch (Lesbarkeit für Kollegen)
cd ~/Claude/meinprojekt cl
claude
claude -p "Erkläre mir den Unterschied zwischen hard link und symbolic link"
Im interaktiven Modus:
/exit
Oder: Strg + C
~/.claude/
├── CLAUDE.md ← Globale Basisregeln (immer geladen)
└── profiles/
├── dev.md ← Bash & Java-Entwickler
├── hacker.md ← Ethical Hacker & Forensiker
└── architekt.md ← Linux RHEL-Architekt
~/.local/bin/
└── cl ← Profil-Loader Script
~/Claude/ ← Arbeitsordner für Projekte
└── meinprojekt/
└── CLAUDE.md ← Projektspezifischer Kontext