__acl: drop Solaris because POSIX-draft ACL specification is not supported

This commit is contained in:
ander 2019-04-24 00:36:53 +03:00
parent d66b6969f3
commit f586937614
2 changed files with 20 additions and 30 deletions

View file

@ -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

View file

@ -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.