__acl: optimize gencode-remote
This commit is contained in:
parent
c1a34caba7
commit
a1634b3ec0
1 changed files with 21 additions and 36 deletions
|
@ -28,57 +28,42 @@ acl_is="$( cat "$__object/explorer/acl_is" )"
|
||||||
|
|
||||||
acl_path="/$__object_id"
|
acl_path="/$__object_id"
|
||||||
|
|
||||||
acl_should="$(
|
acl_should="$( for parameter in user group mask other
|
||||||
for parameter in user group
|
|
||||||
do
|
do
|
||||||
if [ ! -f "$__object/parameter/$parameter" ]
|
if [ ! -f "$__object/parameter/$parameter" ]
|
||||||
then continue
|
then
|
||||||
|
continue
|
||||||
fi
|
fi
|
||||||
while read -r l
|
|
||||||
|
while read -r acl
|
||||||
do
|
do
|
||||||
if echo "$l" | grep -Fq 'X'
|
if echo "$acl" | grep -Fq 'X'
|
||||||
then
|
then
|
||||||
if [ "$is_dir" = '1' ]
|
if [ "$is_dir" = '1' ]
|
||||||
then
|
then
|
||||||
l="$( echo "$l" | sed 's/X$/x/' )"
|
acl="$( echo "$acl" | sed 's/X$/x/' )"
|
||||||
else
|
else
|
||||||
l="$( echo "$l" | sed 's/X$/-/' )"
|
acl="$( echo "$acl" | sed 's/X$/-/' )"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$parameter:$l"
|
if echo "$parameter" | grep -Eq '(mask|other)'
|
||||||
|
|
||||||
if [ -f "$__object/parameter/default" ] \
|
|
||||||
&& [ "$is_dir" = '1' ]
|
|
||||||
then echo "default:$parameter:$l"
|
|
||||||
fi
|
|
||||||
done < "$__object/parameter/$parameter"
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -f "$__object/parameter/mask" ]
|
|
||||||
then
|
then
|
||||||
l=$( cat "$__object/parameter/mask" )
|
sep=::
|
||||||
|
else
|
||||||
|
sep=:
|
||||||
|
fi
|
||||||
|
|
||||||
echo "mask::$l"
|
echo "$parameter$sep$acl"
|
||||||
|
|
||||||
if [ -f "$__object/parameter/default" ] \
|
if [ -f "$__object/parameter/default" ] \
|
||||||
&& [ "$is_dir" = '1' ]
|
&& [ "$is_dir" = '1' ]
|
||||||
then echo "default:mask::$l"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f "$__object/parameter/other" ]
|
|
||||||
then
|
then
|
||||||
l=$( cat "$__object/parameter/other" )
|
echo "default:$parameter$sep$acl"
|
||||||
|
|
||||||
echo "other::$l"
|
|
||||||
|
|
||||||
if [ -f "$__object/parameter/default" ] \
|
|
||||||
&& [ "$is_dir" = '1' ]
|
|
||||||
then echo "default:other::$l"
|
|
||||||
fi
|
fi
|
||||||
fi
|
done \
|
||||||
)"
|
< "$__object/parameter/$parameter"
|
||||||
|
done )"
|
||||||
|
|
||||||
setfacl_exec='setfacl'
|
setfacl_exec='setfacl'
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue