Die Sicherung Ihrer Daten ist in der heutigen digitalen Welt von größter Bedeutung. Systeme wie UrBackup bieten robuste Lösungen, um Daten von verschiedenen Clients zentral zu speichern. Kombiniert mit der leistungsstarken Speicherplattform TrueNAS, die für ihre Stabilität und Funktionsvielfalt bekannt ist, entsteht eine überaus zuverlässige Backup-Infrastruktur. Doch der Teufel steckt oft im Detail – genauer gesagt, in den Berechtigungen. Viele Administratoren stoßen auf Schwierigkeiten, wenn sie versuchen, UrBackup in einem TrueNAS-Jail zu betreiben und die richtigen Zugriffsrechte für den Backup-Speicher zu konfigurieren.
In diesem umfassenden Artikel führen wir Sie Schritt für Schritt durch den Prozess, um die korrekten Berechtigungen für Ihr UrBackup-Jail auf TrueNAS einzurichten. Wir erklären die Grundlagen, gehen auf häufige Fallstricke ein und stellen sicher, dass Ihr Backup-System reibungslos und sicher funktioniert. Von der Erstellung des Datasets bis zur Konfiguration innerhalb des Jails – nach diesem Guide wissen Sie genau, wie Sie die Kontrolle über Ihre Daten behalten.
Warum die richtigen Berechtigungen für Ihr UrBackup-Jail entscheidend sind
Stellen Sie sich vor: Sie haben UrBackup in einem TrueNAS-Jail installiert, alles scheint zu laufen, aber die Backups schlagen fehl. Der häufigste Grund dafür sind falsch konfigurierte Berechtigungen. Ohne die korrekten Zugriffsrechte kann der UrBackup-Server im Jail nicht auf den dedizierten Speicherort auf Ihrem TrueNAS-System zugreifen, um Backup-Daten zu schreiben oder zu lesen.
Aber es geht nicht nur um Funktionalität. Sicherheit ist ein ebenso wichtiger Aspekt. Zu laxe Berechtigungen könnten potenziell unbefugten Zugriff auf Ihre wertvollen Backup-Daten ermöglichen. Zu restriktive Berechtigungen hingegen blockieren den legitimen Zugriff und machen das System unbrauchbar. Ein fein abgestimmtes Rechtesystem ist daher unerlässlich, um sowohl die Integrität als auch die Verfügbarkeit Ihrer Backups zu gewährleisten.
Grundlagen verstehen: TrueNAS, Jails und UrBackup
Bevor wir ins Detail gehen, lassen Sie uns kurz die beteiligten Komponenten beleuchten:
TrueNAS und ZFS Datasets
TrueNAS ist ein auf FreeBSD basierendes Betriebssystem, das auf dem ZFS-Dateisystem aufbaut. ZFS ist mehr als nur ein Dateisystem – es ist ein Volume Manager, RAID-Controller und vieles mehr. Seine Kernfunktion für uns sind die Datasets. Ein Dataset ist im Grunde ein Dateisystem innerhalb eines ZFS-Pools, das eigene Eigenschaften und vor allem eigene Berechtigungen haben kann. Diese Berechtigungen sind entweder POSIX-ACLs (traditionell Unix-basiert) oder NFSv4-ACLs, die komplexere Steuerung erlauben.
Jails: Isolierte Umgebungen
Ein Jail auf TrueNAS (basierend auf FreeBSD Jails) ist eine leichtgewichtige Virtualisierungstechnologie, die es ermöglicht, Anwendungen in einer isolierten Umgebung zu betreiben. Jedes Jail hat sein eigenes Dateisystem, seine eigenen Prozesse und Netzwerk-Interfaces. Für den Zugriff auf Speicher des Host-Systems werden sogenannte Mount Points (oder Mounts) verwendet. Ein Mount Point verbindet ein Verzeichnis auf dem TrueNAS-Host mit einem Verzeichnis innerhalb des Jails.
UrBackup im Jail
UrBackup ist eine leistungsstarke Open-Source-Client/Server-Backup-Lösung. Der UrBackup-Server, den wir im Jail installieren, benötigt einen dedizierten Speicherbereich, um die Backups der Clients abzulegen. Dieser Speicherbereich muss über den Mount Point vom TrueNAS-Host im Jail verfügbar sein und die korrekten Schreib- und Leserechte besitzen.
Die Herausforderung: UID/GID-Mapping und Berechtigungen
Der größte Stolperstein bei der Konfiguration von Berechtigungen für Jails ist das Verständnis des UID/GID-Mappings. Innerhalb eines Jails hat ein Benutzer (z.B. der Benutzer, unter dem UrBackup läuft) eine bestimmte User ID (UID) und Group ID (GID). Diese UID und GID sind jedoch *nicht* automatisch dieselben wie die UIDs und GIDs von Benutzern auf dem TrueNAS-Host, selbst wenn sie den gleichen Namen tragen. Wenn ein Jail-Benutzer versucht, auf ein Verzeichnis zuzugreifen, das vom Host gemountet wurde, prüft das Host-System die Rechte basierend auf den Host-UIDs/GIDs. Ohne ein korrektes Mapping oder eine bewusste Rechtevergabe werden diese Zugriffe verweigert.
Unsere Strategie besteht darin, einen dedizierten Benutzer und eine Gruppe auf dem TrueNAS-Host zu erstellen und diesem die notwendigen Rechte auf dem Backup-Dataset zu geben. Anschließend erstellen wir im Jail einen Benutzer und eine Gruppe mit *denselben* UID und GID wie auf dem Host. So „sieht” das Host-System den Zugriff vom Jail-Benutzer als legitimen Zugriff des Host-Benutzers.
Schritt-für-Schritt-Anleitung zur Rechtevergabe für Ihr UrBackup-Jail
Folgen Sie diesen Schritten sorgfältig, um die richtigen Berechtigungen einzurichten.
1. Vorbereitung auf TrueNAS: Dataset, Benutzer und Gruppe erstellen
Loggen Sie sich in die TrueNAS-Weboberfläche ein.
a) Dediziertes Dataset für UrBackup erstellen
Es ist gute Praxis, ein separates Dataset für Ihre UrBackup-Daten zu verwenden.
- Gehen Sie zu Speicher (Storage) > Pools.
- Wählen Sie Ihren Pool aus und klicken Sie auf die drei Punkte neben dem Pool-Namen, dann auf Dataset hinzufügen (Add Dataset).
- Geben Sie einen Namen ein, z.B.
backups
oderurbackup_data
. - Wählen Sie Share Type: Generic.
- Lassen Sie die anderen Optionen vorerst auf Standard oder passen Sie sie bei Bedarf an (z.B. Komprimierung).
- Klicken Sie auf Speichern (Save).
b) Benutzer und Gruppe für UrBackup auf TrueNAS erstellen
Wir erstellen einen dedizierten Benutzer und eine Gruppe auf dem TrueNAS-Host. Dies ist der Schlüssel für das spätere UID/GID-Mapping.
- Gehen Sie zu Anmeldeinformationen (Credentials) > Lokale Benutzer (Local Users) > Benutzer (Users) und klicken Sie auf Hinzufügen (Add).
-
Benutzername (Username): z.B.
urbackup_user
Passwort (Password): Ein sicheres Passwort (merken oder notieren!)
Passwort bestätigen (Confirm Password): Passwort wiederholen
Voller Name (Full Name): UrBackup Dienstbenutzer
UID: (Dies ist wichtig! TrueNAS schlägt eine vor. Merken Sie sich diese UID genau, z.B. 1001.)
Primäre Gruppe (Primary Group): Aktivieren Sie „Neue Primärgruppe erstellen” (Create new primary group). Dadurch wird eine Gruppe mit dem gleichen Namen und der gleichen GID wie die UID des Benutzers erstellt (z.B.urbackup_user
und GID 1001). Auch diese GID ist wichtig! - Deaktivieren Sie „Home-Verzeichnis erstellen” (Create Home Directory), da dieser Benutzer kein interaktiver Login-Benutzer ist.
- Klicken Sie auf Speichern (Save).
Merken Sie sich die UID und GID dieses Benutzers und seiner primären Gruppe! (z.B. UID=1001, GID=1001)
c) Berechtigungen auf dem Dataset setzen
Jetzt vergeben wir die Rechte auf dem neu erstellten Dataset für unseren urbackup_user
.
- Gehen Sie zu Speicher (Storage) > Pools.
- Navigieren Sie zu Ihrem UrBackup-Dataset (z.B.
yourpool/urbackup_data
). - Klicken Sie auf die drei Punkte neben dem Dataset und wählen Sie Berechtigungen bearbeiten (Edit Permissions).
-
Eigentümer (User): Wählen Sie den soeben erstellten Benutzer (z.B.
urbackup_user
).
Gruppe (Group): Wählen Sie die soeben erstellte Gruppe (z.B.urbackup_user
).
Berechtigungstyp (ACL Type): Wählen Sie POSIX. Für UrBackup ist POSIX meist ausreichend und einfacher zu handhaben als NFSv4 ACLs, besonders wenn Sie mit den komplexeren ACLs nicht vertraut sind. -
Berechtigungen (Permissions):
* Für Eigentümer (User):rwx
(Lesen, Schreiben, Ausführen/Navigieren)
* Für Gruppe (Group):rwx
(Lesen, Schreiben, Ausführen/Navigieren)
* Für Andere (Other):---
(Keine Berechtigungen) - Aktivieren Sie „Berechtigungen rekursiv ändern” (Apply Permissions Recursively). Dies stellt sicher, dass alle Unterverzeichnisse und Dateien die gleichen Rechte erhalten.
- Klicken Sie auf Speichern (Save).
2. Jail erstellen und konfigurieren
Nun erstellen wir das Jail und mounten das Dataset.
a) Jail erstellen (falls noch nicht geschehen)
- Gehen Sie zu Jails > Hinzufügen (Add).
- Wählen Sie „Grundlegend” (Basic) und geben Sie einen Jail-Namen ein (z.B.
urbackup_jail
). - Wählen Sie die Neueste (Latest) Version von FreeBSD.
- Konfigurieren Sie die Netzwerkeinstellungen (DHCP oder statische IP-Adresse – eine statische IP wird für Server-Dienste empfohlen).
- Klicken Sie auf Speichern (Save). Warten Sie, bis das Jail erstellt und gestartet ist.
b) Mount Point für das UrBackup-Dataset einrichten
Dieser Schritt macht das Dataset im Jail verfügbar.
- Gehen Sie zu Jails > urbackup_jail (Ihr Jail-Name).
- Klicken Sie auf die drei Punkte neben dem Jail und wählen Sie Mounts bearbeiten (Edit Mounts).
- Klicken Sie auf Hinzufügen (Add).
-
Quelle (Source): Navigieren Sie zu dem Pfad Ihres UrBackup-Datasets auf dem Host (z.B.
/mnt/yourpool/urbackup_data
).
Ziel (Destination): Dies ist der Pfad innerhalb des Jails, wo das Dataset gemountet wird (z.B./mnt/urbackup
). Erstellen Sie dieses Verzeichnis im Jail später, falls es nicht existiert. - Klicken Sie auf Speichern (Save).
Starten Sie das Jail neu, damit der Mount Point aktiv wird.
3. Im Jail: Benutzer und Gruppe erstellen (Wichtig: UID/GID-Mapping!)
Jetzt melden wir uns im Jail an und erstellen den Benutzer mit denselben UIDs/GIDs wie auf dem Host.
a) Im Jail anmelden
- Gehen Sie zu Jails > urbackup_jail.
- Klicken Sie auf die drei Punkte und wählen Sie Shell, um eine Root-Shell im Jail zu öffnen.
b) Mount-Verzeichnis im Jail erstellen
Erstellen Sie das Zielverzeichnis für den Mount Point im Jail, falls es noch nicht existiert.
mkdir -p /mnt/urbackup
c) Benutzer und Gruppe im Jail erstellen
Hier kommt das entscheidende UID/GID-Mapping. Wir verwenden die **exakten UIDs und GIDs**, die wir uns vom TrueNAS-Benutzer gemerkt haben (z.B. UID=1001, GID=1001).
-
Erstellen Sie die Gruppe:
pw groupadd -n urbackup_user -g 1001
(Ersetzen Sie
1001
durch die GID, die Sie sich gemerkt haben.) -
Erstellen Sie den Benutzer:
pw useradd -n urbackup_user -u 1001 -g 1001 -c "UrBackup Service User" -s /usr/sbin/nologin
(Ersetzen Sie
1001
durch die UID und GID, die Sie sich gemerkt haben.-s /usr/sbin/nologin
verhindert einen Login.)
Jetzt hat der Benutzer urbackup_user
im Jail dieselbe UID/GID wie der Benutzer urbackup_user
auf dem TrueNAS-Host. Wenn dieser Benutzer im Jail auf /mnt/urbackup
zugreift, sieht der Host dies als Zugriff des Host-Benutzers mit den korrekten Berechtigungen.
4. UrBackup Server Installation und Konfiguration im Jail
Die Installation des UrBackup Servers im Jail ist relativ einfach.
a) Installation der Pakete
pkg update
pkg install urbackup-server
Folgen Sie den Anweisungen. Wenn Sie gefragt werden, ob Sie die Paketquellen aktualisieren möchten, bestätigen Sie dies.
b) Konfiguration des UrBackup Servers
- Stoppen Sie den UrBackup-Dienst kurz, um die Konfiguration vorzunehmen:
service urbackup_srv stop
- Bearbeiten Sie die Konfigurationsdatei (oft unter
/usr/local/etc/urbackup/
oder/etc/urbackup/
, prüfen Sie die Pfade nach der Installation oder suchen Sie nachurbackup_srv.conf
). Die Standardeinstellungen sind oft ausreichend, aber stellen Sie sicher, dass der Benutzer, unter dem UrBackup läuft, korrekt ist. Normalerweise läuft UrBackup als sein eigener Benutzer oder alsroot
(nicht empfohlen). Wir möchten, dass es als unserurbackup_user
läuft. - Öffnen Sie die Datei
/usr/local/etc/rc.conf.d/urbackup_srv
(oder ähnlich) und stellen Sie sicher, dass der Dienst als der erstellte Benutzer läuft. Falls nicht, müssen Sie das in der Init-Skript-Konfiguration anpassen oder den Dienst so starten, dass er als der Benutzer läuft. Ein typischer Weg ist die Anpassung desurbackup_srv_user
undurbackup_srv_group
in der Service-Definition, falls diese Optionen existieren. Oft reicht es aus, wenn der *Dienst* als root gestartet wird, aber die *Daten* von unserem `urbackup_user` geschrieben werden. -
Setzen Sie die Dateiberechtigungen für das UrBackup-Speicherverzeichnis im Jail manuell, um sicherzustellen, dass der UrBackup-Dienst darauf zugreifen kann, falls er nicht direkt unter
urbackup_user
läuft:chown -R urbackup_user:urbackup_user /mnt/urbackup chmod -R 770 /mnt/urbackup
Dies stellt sicher, dass der
urbackup_user
(und die gleichnamige Gruppe) volle Lese-, Schreib- und Ausführungsrechte hat. - Starten Sie den UrBackup-Dienst:
service urbackup_srv start
- Aktivieren Sie den Dienst zum automatischen Start beim Jail-Boot:
sysrc urbackup_srv_enable="YES"
c) UrBackup Webinterface konfigurieren
Öffnen Sie Ihr Webinterface über die IP-Adresse des Jails und Port 55414 (z.B. http://[JAIL-IP]:55414
).
- Navigieren Sie zu Einstellungen > Backup-Speicherort.
- Geben Sie den Pfad zu Ihrem gemounteten Verzeichnis im Jail ein (z.B.
/mnt/urbackup
). - Speichern Sie die Einstellungen.
5. Testen der Rechte
Es ist entscheidend, die eingerichteten Berechtigungen zu testen.
- Führen Sie im Jail als
root
einen Test durch:sudo -u urbackup_user touch /mnt/urbackup/testfile.txt ls -l /mnt/urbackup/testfile.txt
Wenn der
touch
-Befehl fehlschlägt, sind die Rechte noch nicht korrekt. Wenn er erfolgreich ist, sollteurbackup_user
der Eigentümer der Datei sein. - Führen Sie einen Test-Backup von einem Client durch. Überprüfen Sie im UrBackup-Webinterface, ob das Backup erfolgreich war und ob die Daten im Verzeichnis
/mnt/urbackup
auf Ihrem TrueNAS-Host erscheinen.
Best Practices und Fehlerbehebung
- Immer UIDs/GIDs matchen: Dies ist die goldene Regel für Jails und Host-Speicherzugriff. Ignorieren Sie sie auf eigene Gefahr.
- ACLs verstehen: Während POSIX für UrBackup meist ausreicht, können komplexere Szenarien NFSv4-ACLs erfordern. Stellen Sie sicher, dass Sie verstehen, wie diese funktionieren, bevor Sie sie einsetzen. ACLs können granularer sein, aber auch schwieriger zu debuggen.
- Rekursive Berechtigungen: Achten Sie beim Setzen von Berechtigungen auf TrueNAS darauf, „Berechtigungen rekursiv ändern” zu aktivieren, besonders wenn das Dataset bereits Daten enthält.
- Regelmäßige Überprüfung: Überprüfen Sie Ihre Backup-Logdateien regelmäßig auf Berechtigungsfehler oder andere Probleme.
- Häufiger Fehler „Permission Denied”: Wenn Sie diese Fehlermeldung sehen, ist dies ein sicheres Zeichen dafür, dass das UID/GID-Mapping oder die Dataset-Berechtigungen nicht korrekt sind. Überprüfen Sie alle Schritte erneut, insbesondere die UIDs/GIDs.
- TrueNAS Neustarts: Nach größeren Änderungen an Mount Points oder Netzwerk sollten Sie das Jail neu starten. Nach Änderungen an Datasets oder Benutzern auf dem Host ist meist kein Neustart des Jails erforderlich.
- Sicherheit: Verwenden Sie für den
urbackup_user
ein sicheres Passwort, auch wenn es ein Systembenutzer ist, der sich nicht direkt anmelden soll.
Fazit
Die Einrichtung von UrBackup mit TrueNAS-Jails erfordert ein sorgfältiges Verständnis der Berechtigungskonzepte, insbesondere des UID/GID-Mappings zwischen dem Host-System und dem Jail. Mit dieser detaillierten Anleitung sollten Sie nun in der Lage sein, Ihre UrBackup-Infrastruktur auf TrueNAS sicher und funktionsfähig zu gestalten.
Die korrekte Konfiguration der Berechtigungen ist nicht nur eine Frage der Funktionalität, sondern auch der Datensicherheit. Indem Sie die Schritte zur Erstellung dedizierter Datasets, Benutzer mit passenden UIDs/GIDs und Mount Points gewissenhaft befolgen, schaffen Sie eine robuste Grundlage für Ihre Backup-Strategie. Nehmen Sie sich die Zeit für die initiale Einrichtung, und Ihre Daten werden es Ihnen danken!