Experms

Aus wiki.archlinux.de
Version vom 18. Juni 2013, 00:27 Uhr von Dirk (Diskussion | Beiträge) (Installation: vorlage:installation)

Wechseln zu: Navigation, Suche

Experms läuft als Daemon im Hintergrund und überwacht alle Files einer Verzeichnisstruktur oder auch Mehreren. Sobald Änderungen geschehen, passt es die Dateirechte und -besitzverhältnisse an.

Über ein Config-File lassen sich verschiedene Ordner, sowie ihre Besitzer, Gruppen und Rechte konfigurieren.

Installation

Das Programm ist als expermsAUR im AUR verfügbar, und kann von dort zum Beispiel mittels Yaourt installiert werden.

yaourt -S experms
Bei der Verwendung von Yaourt ist zu beachten, dass Pakete niemals „blind“ installiert werden sollten. Vor dem Installieren mit Yaourt sollten die Kommentare im AUR gelesen, und das PKGBUILD geprüft werden.

Konfiguration

Nach erfolgreicher Installation muss als Erstes das Config-File /etc/experms.conf bearbeitet werden.

log_activities bestimmt, ob jede Änderung auch ins Logfile geschrieben werden soll oder nicht. HINWEIS: Bei einer Wettlaufsituation (z.B. in einem Bittorrent-Downloadverzeichnis) werden Änderungen manchmal mehrmals geloggt.

use_several_dirs bestimmt, ob nur ein Verzeichnis mit allen Unterordnern überwacht werden soll, oder ob es sich um mehrere Unterverzeichnisse mit verschiedenen Rechten / Besitzverhältnissen handelt.

mondirname bestimmt das zu überwachende Hauptverzeichnis.

restore_at_start bestimmt, ob bei jedem Start von Experms alle Dateien angepasst werden sollen, falls beispielsweise Änderungen passiert sind während Experms nicht lief.

Wenn nur ein Verzeichnis überwacht werden soll, können mit den nächsten vier Variablen die Besitzer, Gruppe und Rechte gesetzt werden.

Sollte es sich um mehrere Unterverzeichnisse handeln, können weiter unten die verschiedenen Verzeichnisse (ausgehend vom in mondirname gesetzten Verzeichnis), sowie deren Rechte und Gruppen angegeben werden.

Beispiel:

mondirname="/var/exports/"
subdirname="music,downloads,gruppenarbeiten/gruppe1,gruppenarbeiten/gruppe2"

In diesem Fall können verschiedene Vorgaben für folgende Verzeichnisse (und ihre Unterordner) gemacht werden:

/var/exports/music
/var/exports/downloads
/var/exports/gruppenarbeiten/gruppe1
/var/exports/gruppenarbeiten/gruppe2

Ganz wichtig ist, dass bei den nachfolgenden Angaben zu Besitzer, Gruppe und Rechten die selbe Reihenfolge eingehalten wird, wie bei subdirname.

Weitere Konfiguration

Experms nutzt Inotifywait, um die Verzeichnisse zu überwachen.

Inotifywait erlaubt jedem User nur eine beschränkte Zahl an Verzeichnissen zu überwachen. Standardmässig ist dieser Wert auf 8192 gesetzt.

Du kannst dies ändern, indem du in /proc/sys/fs/inotify/max_user_watches schreibst.

Um zu überprüfen wieviele Verzeichnisse man überwachen möchte, hilft folgender Befehl:

find /dein/Verzeichnis/ -type d | wc -l

Start

Nun kann Experms gestartet werden:

experms start

Experms kennt folgende Argumente:

start Start Experms
stop Stop Experms
restart Restart Experms
stat Wenn Experms läuft, zeige die PID von Experms und von Inotifywait
disable Verhindere, dass Experms gestartet werden kann
enable Erlaube den Start von Experms wieder
log / stdout Zeige die letzten 10 Logeinträge, sowie die Neusten in Echtzeit
err / stderr Zeige die letzten 10 Errorlogeinträge, sowie die Neusten in Echtzeit
restore Setzte alle Rechte und Besitzverhältisse für alle Files
help Zeige eine kurze Hilfe


Experms ohne Root-Rechte ausführen

Es ist möglich Experms ohne Root-Rechte zu starten. Doch gibt es dabei einige Einschränkungen:

  • Nur Root kann den Besitzer eines Files ändern.
  • Nur Root oder der Besitzer kann die Gruppe eines Files ändern.
  • Nur Root oder der Besitzer kann die Berechtigungen eines Files ändern.

Wenn du Experms ohne Root-Rechte starten möchtest, musst du also zwingend der Besitzer aller zu überwachenden Files sein.

HINWEIS: Wenn ein File verändert wurde, können sich unter Umständen auch die Besitzverhältnisse ändern.

Sollte dies geschehen, würde Experms eine Fehlermeldung geben und sich beenden.

Um Experms ohne Root-Rechte zu starten, muss eine Kopie des Config-Files /etc/experms.conf ins Home-Directory kopiert werden.

Diese Kopie darf auch .experms.conf heissen, damit sie nicht immer sichtbar ist.