Sichern von Dateirechten in Subversion

Insbesondere für die Verwaltung von Konfigurationsdatei unter Subversion ist es wichtig die Dateirechte (Besitzer, Gruppe, erweiterte Rechte usw.) zu sichern.

Die folgende Lösung soll als Anregung dienen:

  • Speichern der Dateirechte (ACL) in Subversion:

    svn add --non-recursive datei && \
    getfacl datei >/tmp/acl && \
    svn propset posix:acl --file /tmp/acl datei
  • Wiederherstellen der Dateirechte:

    svn propget posix:acl >/tmp/acl && \
    setfacl --restore=/tmp/acl

Zu beachten ist hierbei, daß posix:acl den Pfad zu datei relativ zum aktuellen Verzeichnis enthält. Beim Wiederherstellen sollte man sich also im gleichen Verzeichnis befinden wie beim Speichern der ACL-Informationen, da setfacl --restore die Pfadinformation ausschließlich aus /tmp/acl bezieht.

Offen bei dieser Lösung ist ein rekursives Verfahren, um sich den Wechsel des Arbeitsverzeichnisses zu sparen. Gerade beim Auschecken wäre das lästig. Aber mit find & Co sollte das kein Problem sein.