__acl: drop Solaris because POSIX-draft ACL specification is not supported
This commit is contained in:
parent
d66b6969f3
commit
f586937614
2 changed files with 20 additions and 30 deletions
|
@ -74,34 +74,26 @@ fi
|
||||||
|
|
||||||
if [ -f "$__object/parameter/remove" ]
|
if [ -f "$__object/parameter/remove" ]
|
||||||
then
|
then
|
||||||
if echo "$os" | grep -Fq 'solaris'
|
echo "$acl_is" | while read -r acl
|
||||||
then
|
do
|
||||||
# Solaris setfacl behaves differently.
|
# Skip wanted ACL entries which already exist
|
||||||
# We will not support Solaris for now, because no way to test it.
|
# and skip mask and other entries, because we
|
||||||
# But adding support should be easy (use -s instead of -m on modify).
|
# can't actually remove them, but only change.
|
||||||
echo "$os setfacl do not support -x flag for ACL remove" >&2
|
if echo "$acl_should" | grep -Eq "^$acl" \
|
||||||
else
|
|| echo "$acl" | grep -Eq '^(default:)?(mask|other)'
|
||||||
echo "$acl_is" | while read -r acl
|
then continue
|
||||||
do
|
fi
|
||||||
# Skip wanted ACL entries which already exist
|
|
||||||
# and skip mask and other entries, because we
|
|
||||||
# can't actually remove them, but only change.
|
|
||||||
if echo "$acl_should" | grep -Eq "^$acl" \
|
|
||||||
|| echo "$acl" | grep -Eq '^(default:)?(mask|other)'
|
|
||||||
then continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
if echo "$os" | grep -Eq 'macosx|freebsd'
|
if echo "$os" | grep -Eq 'macosx|freebsd'
|
||||||
then
|
then
|
||||||
remove="$acl"
|
remove="$acl"
|
||||||
else
|
else
|
||||||
remove="$( echo "$acl" | sed 's/:...$//' )"
|
remove="$( echo "$acl" | sed 's/:...$//' )"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$setfacl_exec -x \"$remove\" \"$acl_path\""
|
echo "$setfacl_exec -x \"$remove\" \"$acl_path\""
|
||||||
echo "removed '$remove'" >> "$__messages_out"
|
echo "removed '$remove'" >> "$__messages_out"
|
||||||
done
|
done
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for acl in $acl_should
|
for acl in $acl_should
|
||||||
|
|
|
@ -10,11 +10,9 @@ DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
ACL must be defined as 3-symbol combination, using ``r``, ``w``, ``x`` and ``-``.
|
ACL must be defined as 3-symbol combination, using ``r``, ``w``, ``x`` and ``-``.
|
||||||
|
|
||||||
Fully supported on Linux (tested on Debian and CentOS).
|
Fully supported and tested on Linux, partial support for FreeBSD.
|
||||||
|
|
||||||
Partial support for FreeBSD, OSX and Solaris.
|
OpenBSD, NetBSD and Solaris support is not possible.
|
||||||
|
|
||||||
OpenBSD and NetBSD support is not possible.
|
|
||||||
|
|
||||||
See ``setfacl`` and ``acl`` manpages for more details.
|
See ``setfacl`` and ``acl`` manpages for more details.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue