sammlung:skel
Inhaltsverzeichnis
skel
Kurzfassung: /etc/skel ist das Standard-Skelettverzeichnis für neue Benutzer. Der Inhalt wird beim Anlegen eines Users in dessen Home kopiert, damit alle Nutzer eine konsistente Grundkonfiguration erhalten.
Übersicht
Beim Erstellen neuer Benutzer kopieren useradd und adduser automatisch alle Dateien und Ordner aus /etc/skel in das Home-Verzeichnis. Damit lassen sich Standard-Ordner, Shell-Konfigurationen, SSH-Templates und Dokumentationen zentral pflegen.
Voraussetzungen
- Root-Privilegien oder Sudo-Zugriff
- Kenntnis der Benutzerverwaltung (useradd/adduser)
- Grundkenntnisse von Shell- und Konfigurationsdateien
Standard-Inhalt von /etc/skel
# Verzeichnisinhalt anzeigen ls -la /etc/skel # Typische Dateien (Distribution abhängig) # .bashrc # .profile oder .bash_profile # .bash_logout # .bash_aliases (optional) # .ssh/ (optional)
Systemweite Shell-Dateien (ergänzend)
/etc/profile # Login-Shells (systemweit) /etc/bash.bashrc # Interaktive Shells (Debian/Ubuntu) /etc/profile.d/*.sh # Drop-ins für globale Shell-Einstellungen
Wie /etc/skel verwendet wird
# Benutzer mit Home-Verzeichnis anlegen sudo useradd -m -s /bin/bash alice # Alternativ (Debian/Ubuntu, interaktiv) sudo adduser bob # Home prüfen ls -la /home/alice
/etc/skel erweitern (Beispiele)
1) Standard-Ordnerstruktur
sudo mkdir -p /etc/skel/{bin,projects,logs,tmp,Documents,Downloads}
2) Aliases für alle Benutzer
sudo tee /etc/skel/.bash_aliases > /dev/null <<'EOF' alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' EOF
3) Standard-Editor und Prompt in .bashrc
sudo tee -a /etc/skel/.bashrc > /dev/null <<'EOF' export EDITOR=vim export VISUAL=vim PS1='\u@\h:\w\$ ' EOF
4) .bash_profile anlegen
sudo tee /etc/skel/.bash_profile > /dev/null <<'EOF' # Login-Shell: .bashrc einbinden if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi export PATH="$HOME/bin:$HOME/.local/bin:$PATH" EOF
5) SSH-Template (nur config, keine Keys!)
sudo mkdir -p /etc/skel/.ssh sudo chmod 700 /etc/skel/.ssh sudo tee /etc/skel/.ssh/config > /dev/null <<'EOF' Host * ServerAliveInterval 60 ServerAliveCountMax 3 ForwardAgent no EOF sudo chmod 600 /etc/skel/.ssh/config
6) Standard-Git-Konfiguration
sudo tee /etc/skel/.gitconfig > /dev/null <<'EOF' [user] name = Vorname Nachname email = user@example.com [core] editor = vim [alias] st = status co = checkout br = branch EOF
7) README für neue Benutzer
sudo tee /etc/skel/README.txt > /dev/null <<'EOF' Willkommen! Dieses Home-Verzeichnis wurde automatisch erstellt. Standard-Ordner: - ~/projects - ~/bin - ~/logs Bei Fragen: admin@example.com EOF
Mehrere Skeletons (Benutzerrollen)
# Entwickler-Skeleton sudo mkdir -p /etc/skel.developer sudo cp -r /etc/skel/. /etc/skel.developer/ # Admin-Skeleton sudo mkdir -p /etc/skel.admin sudo cp -r /etc/skel/. /etc/skel.admin/ # Benutzer mit bestimmtem Skeleton anlegen sudo useradd -m -k /etc/skel.developer -s /bin/bash devuser
Änderungen testen
sudo useradd -m -s /bin/bash testuser ls -la /home/testuser sudo userdel -r testuser
Hinweise zu useradd vs. adduser
useradd (low-level):
- Standard-Defaults in
/etc/default/useradd - Home nur mit
-m
adduser (Debian/Ubuntu):
- Interaktiv, erstellt Home automatisch
- Defaults in
/etc/adduser.conf
sudo useradd -D sudo cat /etc/adduser.conf
Hinweise
Best Practices:
- /etc/skel nur für Standard-Dateien verwenden
- Keine sensiblen Daten in /etc/skel ablegen
- Änderungen mit Testuser prüfen
- SSH: nur
config, keine privaten Keys
- README/Docs für neue Benutzer beilegen
Häufige Fehler vermeiden:
- /etc/skel wirkt nur bei NEUEN Benutzern, nicht retroaktiv
- Falsche Rechte auf .ssh/.gitconfig → Sicherheitsrisiko
- /etc/skel nicht für systemweite Konfigurationen nutzen
Siehe auch
Quellen
sammlung/skel.txt · Zuletzt geändert: von 127.0.0.1
