|
diff -Naur a/conf/post-install b/conf/post-install
|
|
--- a/conf/post-install 2015-12-28 00:00:45.000000000 +0000
|
|
+++ b/conf/post-install 2017-08-01 22:42:30.476896711 +0000
|
|
@@ -566,15 +566,16 @@
|
|
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
|