Benutzern unter FreeBSD eigene ZFS-Snapshots ermöglichen

Herausforderung

Ein "normaler" Benutzer soll unter FreeBSD selber ZFS-Snaphots einrichten können.

Vorgehen

Als Beispiel wählen wir das Benutzerkonto testuser, der im ZFS-Dateisystem /test/testuser selber Snapshots verwalten können soll.

  • Snapshots verhalten sich wie ein eigenes Dateisystem. Damit auf Snaphots zugegriffen werden kann, muss der Benutzer also die Möglichkeit besitzen, Snapshots einzubinden. Standardmässig können nur root-Benutzer Dateisysteme mounten. Wir ändern dies, indem wir in /etc/sysctl.conf
    vfs.usermount=1

    setzen und dann gleich mit dem Kommando

    sysctl -f /etc/sysctl.conf

    diese Einstellung aktivieren.

  • Damit es gelingt, Dateisysteme als Benutzer einzubinden, muss das Verzeichnis, unter dem eingebunden werden soll, dem jeweiligen Benutzer gehören. In unserem Fall gewährleisten wir dies mit

    chown -R testuser /test/testuser

     

  • Als letztes benötigt der Benutzer noch entsprechende ZFS-Rechte. Diese werden mit dem zfs-Kommando verwaltet, z.B. vergeben wir unserem testuser mit

    zfs allow testuser create,destroy,snapshot,mount test/testuser

    die Möglichkeit, seine Snapshots selber zu verwalten.