find mit ACL-Unterstützung

26/02/2010 - 14:00 von Christian Brandt | Report spam
Ich möchte ACLs in einem Verzeichnisbaum setzen ohne generell immer alle
Rechte "platt" zu machen, also nicht diese unschöne Konstruktion:

find mitarbeiter \
\( -wholename work/old -prune \) -o \
\( \( -type f -execdir setfacl -m
user::rw-,group::rw-,group:www-data:r-- \{\} + \) , \
\( -type d -execdir setfacl -m
user::rwx,group::rwx,group:www-data:r-x,default:user::rwx,default:group::rwx,default:group:www-data:r-x
\{\} + \) , \
\( -type d -execdir chmod g+s \{\} + \) , \
\( \! -group work -execdir chgrp work \{\} + \) \
\)

sondern eher sowas:

find $WDIRS \
\( -type f \! -perm $MODFILE -execdir chmod $MODFILE \{\} + \) , \
\( -type d \! -perm $MODDIR -execdir chmod $MODDIR \{\} + \) , \
\( \! -group $MODGROUP -execdir chgrp $MODGROUP \{\} + \)

Gibts da ne einfache Lösung out of the box oder muß ich das Output von
getfacl --tabular parsen? Der Zeitunterschied macht derzeit 10min aus da
das Verzeichnis RIESIG ist.

Immerhin scheinen die Default-ACL und das SGID-Bit zuverlàssig zu
erreichen daß die Benutzerrechte bei neuen Dateien und Verzeichnissen
vererbt werden, das spart mir tàgliches "plattbügeln". Ist zwar nicht so
màchtig wie die integrierten Sichereitsrichtlinien von Windows aber
dafür auch etwas übersichtlicher.
 

Lesen sie die antworten

#1 Hauke Laging
27/02/2010 - 21:46 | Warnen spam
Christian Brandt schrieb am Freitag 26 Februar 2010 14:00:

Der Zeitunterschied macht derzeit
10min aus da das Verzeichnis RIESIG ist.



Ich vermute, dass sich daran nur begrenzt etwas àndert, wenn man
ACL-Support in find einbaut, weil die klassischen find-Kriterien dem
Inode entnommen werden können, die ACL aber (jedenfalls bei kleinen
Inodes, wenn ich das richtig verstanden habe) nicht im Inode
gespeichert werden, so dass auf jeden Fall ein zweiter
Plattenzugriff nötig ist. Pro Datei.


CU

Hauke
http://www.hauke-laging.de/ideen/

Ähnliche fragen