Benutzer-Werkzeuge

Webseiten-Werkzeuge


sammlung:skel

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