# fstab - Credentials sicher speichern Zugangsdaten (Benutzername/Passwort) sollten nicht im Klartext in `/etc/fstab` stehen. ## Credentials-Datei verwenden Viele Treiber wie `cifs` oder `smbfs` unterstützen separate Credential-Dateien. ### fstab-Eintrag ```fstab //server/share /mnt/share cifs credentials=/etc/samba/credentials,iocharset=utf8,uid=1000,gid=1000 0 0 ``` ### Credentials-Datei erstellen **/etc/samba/credentials:** ``` username=meinuser password=meinpasswort domain=meinedomain ``` ### Datei absichern ```bash sudo chmod 600 /etc/samba/credentials sudo chown root:root /etc/samba/credentials ``` Nur root kann die Datei lesen, `/etc/fstab` enthält keine Secrets. ## Kernel Keyring nutzen Für temporäre Mounts (z.B. bei CIFS): ```bash cifscreds add -u meinuser servername ``` Dann kann der Mount in fstab ohne Passwort erfolgen - der Kernel holt die Daten aus dem Keyring. **Hinweis:** Funktioniert hauptsächlich für interaktive Sessions, nicht für automatische Boot-Mounts. ## Systemd-Units verwenden Statt `/etc/fstab` kann man systemd `.mount`-Units mit Credentials nutzen. **Beispiel:** `/etc/systemd/system/mnt-share.mount` ```ini [Unit] Description=SMB Share Mount [Mount] What=//server/share Where=/mnt/share Type=cifs Options=credentials=/etc/samba/credentials,iocharset=utf8,uid=1000,gid=1000 [Install] WantedBy=multi-user.target ``` Aktivieren: ```bash sudo systemctl daemon-reload sudo systemctl enable mnt-share.mount sudo systemctl start mnt-share.mount ``` ## Kerberos-Authentifizierung Für Netzwerke mit Active Directory oder Kerberos: ### NFS mit Kerberos ```fstab server:/export /mnt/nfs nfs sec=krb5,rw 0 0 ``` ### CIFS mit Kerberos ```fstab //server/share /mnt/share cifs sec=krb5,multiuser,rw 0 0 ``` Keine Passwörter nötig - Authentifizierung über Kerberos-Tickets. ## Secrets-Management-Systeme Für Produktivumgebungen mit höheren Sicherheitsanforderungen: - **HashiCorp Vault** - zentrales Secrets-Management - **AWS Secrets Manager** - für Cloud-Umgebungen - **GPG-verschlüsselte Dateien** - lokal verschlüsselt Beispiel mit GPG: ```bash # Credentials verschlüsselt speichern echo "username=user\npassword=pass" | gpg -e -r you@example.com > /etc/samba/credentials.gpg # In Mount-Skript entschlüsseln gpg -d /etc/samba/credentials.gpg > /tmp/credentials mount -t cifs -o credentials=/tmp/credentials //server/share /mnt/share rm /tmp/credentials ``` ## Zusammenfassung | Methode | Sicherheit | Komplexität | Anwendungsfall | |---------|-----------|-------------|----------------| | Credentials-Datei | Gut | Niedrig | Standard für CIFS/SMB | | Kernel Keyring | Mittel | Mittel | Interaktive Sessions | | Kerberos | Sehr gut | Hoch | Enterprise/AD-Umgebungen | | Systemd-Credentials | Sehr gut | Mittel | Moderne Systeme | | Secrets Manager | Sehr gut | Hoch | Produktivumgebungen | **Empfehlung:** Für den Alltag ist eine separate Credentials-Datei mit restriktiven Rechten (600) der beste Kompromiss aus Sicherheit und Einfachheit. ## Siehe auch - [[IT-Know-How/Linux/BASH Basics/Symlinks]] - Symbolische Links erstellen - [[IT-Know-How/Linux/BASH Basics/Dateiberechtigungen]] - Dateien absichern mit chmod/chown - [[IT-Know-How/Linux/BASH Basics/lsblk]] - Block-Geräte anzeigen