128 lines
3.2 KiB
Markdown
128 lines
3.2 KiB
Markdown
# 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
|