__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_should="$(
|
||||
for parameter in user group
|
||||
acl_should="$( for parameter in user group mask other
|
||||
do
|
||||
if [ ! -f "$__object/parameter/$parameter" ]
|
||||
then continue
|
||||
then
|
||||
continue
|
||||
fi
|
||||
while read -r l
|
||||
|
||||
while read -r acl
|
||||
do
|
||||
if echo "$l" | grep -Fq 'X'
|
||||
if echo "$acl" | grep -Fq 'X'
|
||||
then
|
||||
if [ "$is_dir" = '1' ]
|
||||
then
|
||||
l="$( echo "$l" | sed 's/X$/x/' )"
|
||||
acl="$( echo "$acl" | sed 's/X$/x/' )"
|
||||
else
|
||||
l="$( echo "$l" | sed 's/X$/-/' )"
|
||||
acl="$( echo "$acl" | sed 's/X$/-/' )"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "$parameter:$l"
|
||||
|
||||
if [ -f "$__object/parameter/default" ] \
|
||||
&& [ "$is_dir" = '1' ]
|
||||
then echo "default:$parameter:$l"
|
||||
fi
|
||||
done < "$__object/parameter/$parameter"
|
||||
done
|
||||
|
||||
if [ -f "$__object/parameter/mask" ]
|
||||
if echo "$parameter" | grep -Eq '(mask|other)'
|
||||
then
|
||||
l=$( cat "$__object/parameter/mask" )
|
||||
sep=::
|
||||
else
|
||||
sep=:
|
||||
fi
|
||||
|
||||
echo "mask::$l"
|
||||
echo "$parameter$sep$acl"
|
||||
|
||||
if [ -f "$__object/parameter/default" ] \
|
||||
&& [ "$is_dir" = '1' ]
|
||||
then echo "default:mask::$l"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f "$__object/parameter/other" ]
|
||||
then
|
||||
l=$( cat "$__object/parameter/other" )
|
||||
|
||||
echo "other::$l"
|
||||
|
||||
if [ -f "$__object/parameter/default" ] \
|
||||
&& [ "$is_dir" = '1' ]
|
||||
then echo "default:other::$l"
|
||||
echo "default:$parameter$sep$acl"
|
||||
fi
|
||||
fi
|
||||
)"
|
||||
done \
|
||||
< "$__object/parameter/$parameter"
|
||||
done )"
|
||||
|
||||
setfacl_exec='setfacl'
|
||||
|
||||
|
|
Loading…
Reference in a new issue