Achtung: eine neuere Version dieses Artikels, die auch ACLs verwendet, findet sich unter http://www.andre-aulich.de/en/perm/download-script-to-fix-permissions-in-users-drop-boxes!

Wenn Sie serverbasierte Homeverzeichnisse auf Basis von Mac OS X Server 10.4 verwenden und Ihre Benutzer sich gegenseitig Dateien in die Briefkastenordner kopieren, werden Sie folgendes feststellen: Der Versender einer Datei, also derjenige, der die Datei in den Briefkastenordner eines anderen Benutzers kopiert, bleibt Eigentümer der Datei, während der Empfänger lediglich Leserechte an der neuen Datei innehat. Zum einen bedeutet dies, dass der Empfänger der Datei diese nicht aus seinem Briefkastenordner löschen kann.

Wenn Sie im Schulumfeld arbeiten, könnte der Briefkastenordner eines Lehrers zum Beispiel dazu benutzt werden, dass Schüler ihre Hausaufgaben abgeben indem sie fertige Dateien in diesen Ordner kopieren. Anhand des Zeitstempels, der beim Kopieren angelegt wird, lässt sich dadurch auch sicherstellen, dass die Arbeit rechtzeitig abgegeben wurde. Wenn der Lehrer, der diese Dateien erhält, jedoch nicht in der Lage ist, die Dateien irgendwann zu löschen, wird sein Briefkasten bald überlaufen.

Ein anderes Problem, das aus der aktuellen Rechtevergabe resultiert, ist folgendes: angenommen ein Lehrer kopiert Dateien in die Briefkastenordner von fünfzig Schülern, damit diese daran arbeiten können. Solange der Lehrer Eigentümer dieser Dateien bleibt, werden diese Daten auch seinem Speicherkontingent angerechnet, so dass bei aktivierten Festplattenkontingenten irgendwann das Speicherlimit des Lehrers erreicht ist, ohne dass er Dateien löschen könnte, da diese ja in den Briefkastenordnern der Schüler liegen, die er ja erst mal nicht lesen kann.

Beide Probleme lassen sich lösen, indem man dafür sorgt, dass jeder Benutzer Eigentümer aller Dateien ist, die in seinem Briefkastenordner liegen.

Laden Sie dazu dieses Skript auf den Server, und folgen Sie folgender Anleitung:

Entpacken Sie das Skript bitte und verschieben es in den Ordner /usr/bin auf dem Server. Öffnen Sie es nun in Ihrem favorisierten Kommandozeilen-Editor, und überprüfen Sie, ob in der Zeile

USERPATH=/Users

bereits der korrekte Pfad zu Ihren Benutzerordnern steht (sollte standardmäßig korrekt sein).
Sobald Sie das Skript durch die Eingabe von

sudo /usr/bin/corruserperm

im Terminal aufrufen, wird jeder Anwender Eigentümer aller Dateien und Ordner in seinem Briefkastenordner, so dass er sie löschen oder bearbeiten kann.
Falls Sie eine Fehlermeldung in der Art
chown: separation of user and group with a period is deprecated
chown: DS_Store: Invalid argument

erhalten, ignorieren Sie sie einfach – sie bezieht sich ausschließlich auf unsichtbare Dateien, die sowieso nicht im Finder sichtbar sein sollen.
Wollen Sie dieses Skript regelmäßig aufrufen, könnten Sie beispielsweise einen entsprechenden cronjob anlegen:

nano /etc/crontab

Dort tragen sie bitte folgende Zeile ein, wenn das Skript zu jeder vollen Stunde laufen soll:

0 * * * * root /usr/bin/corruserperm

Probieren Sie dieses Skript bitte zunächst auf einem Testsystem aus, um sich mit der Anwendung vertraut zu machen.

Viel Erfolg!

Veröffentlicht in Downloads, Mac OS X Server.

Die Kommentarfunktion ist geschlossen.