====== Skeleton-Dateien für Bash ====== **.bashrc und .bash_profile** ==== Beschreibung ==== Skeleton-Dateien sind Vorlagen, die beim Anlegen neuer Benutzer automatisch in deren Home-Verzeichnis kopiert werden. Dazu gehören unter anderem `.bashrc` und `.bash_profile`. Es können auch mehrere //skeleton Datein// angelegt werden. ==== Syntax ==== Die Skeleton-Dateien liegen in der Regel im Verzeichnis: /etc/skel/ Beim Erstellen eines neuen Benutzers mit `useradd` werden alle Dateien aus diesem Verzeichnis ins Home-Verzeichnis des neuen Benutzers kopiert. ===== Wichtige Dateien ===== ^ Datei ^ Zweck | | `.bashrc` | Wird bei **interaktiven, nicht-Login-Shells** geladen; enthält Shell-Optionen, Aliase und Funktionen. | | `.bash_profile` | Wird bei **Login-Shells** geladen; kann `.bashrc` einbinden. | | `.bash_logout` | Wird beim Beenden einer Login-Shell ausgeführt. | | `.profile` | Alternative zu `.bash_profile` (wird v. a. bei Debian/Ubuntu verwendet). | ===== Konfiguration ===== * Änderungen an `/etc/skel/` wirken nur für **neu erstellte Benutzer**. * Bestehende Benutzer müssen ihre `.bashrc` oder `.bash_profile` manuell anpassen. * Systemweite Dateien: - `/etc/bash.bashrc` → gilt für alle interaktiven Shells. - `/etc/profile` → gilt für alle Login-Shells. ===== Beispiele ===== * **Skeleton-Datei anpassen** sudo vi /etc/skel/.bashrc * **Neue Benutzer mit angepassten Skeleton-Dateien** sudo useradd -m neueruser sudo passwd neueruser * **Mehrere //skeleton// Dateien anlegen** /etc/skel/skel_dev01 mit .bashrc, .profile, .bash_logout /etc/skel/skel_prod01/ mit .bashrc, .profile, .bash_logout * **Verwenden der //skeleton// Dateien** useradd -m -k /etc/skel_dev01 -s /bin/bash -d /home/neueruser neueruser ===== Hinweis ===== Die Distributionen verwenden zum Teil verschidene Schreibweisen innerhalb von //**/etc/skel**//. ===== Alternativen ===== * Manuelle Anpassung der Dateien im Home-Verzeichnis bestehender Benutzer. * Nutzung von `/etc/profile.d/*.sh` für systemweite Shell-Initialisierung. ===== Weitere Informationen ===== man bash man useradd man bashrc