blob: faed3af7f5db77ba3aa64eae50c11c8b5010f39f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
--- a/conf/post-install
+++ b/conf/post-install
@@ -566,15 +566,16 @@ test -n "$create" && {
then
set_permission=1
fi
+ test -n "$recursive" && nonrecursive="" || nonrecursive="-maxdepth 0"
test -n "$set_permission" && {
- chown $recursive $owner $path || exit 1
- test -z "$group" || chgrp $recursive $group $path || exit 1
+ find $path $nonrecursive ! -user $owner -exec chown $owner "{}" ";" || exit 1
+ test -z "$group" || find $path $nonrecursive ! -group $group -exec chgrp $group "{}" ";" || exit 1
# Don't "chmod -R"; queue file status is encoded in mode bits.
if [ "$type" = "d" -a -n "$recursive" ]
then
- find $path -type d -exec chmod $mode "{}" ";"
+ find $path -type d -a ! -perm $mode -exec chmod $mode "{}" ";"
else
- chmod $mode $path
+ find $path $nonrecursive ! -perm $mode -exec chmod $mode "{}" ";"
fi || exit 1
}
done
|