Eu elaborei o seguinte código bash
#!/bin/bash
# Use: $0 user files
user="$1"
shift
sudo -u "$user" bash -c 'for f; do
[[ -r "$f" ]] && printf 'r' || printf '-'
[[ -w "$f" ]] && printf 'w' || printf '-'
[[ -x "$f" ]] && printf 'x' || printf '-'
printf " %s\n" "$f"
done' _ "$@"
Isso deve levar em conta automaticamente o acl, se disponível, mas a desvantagem é o uso de sudo
(ou alternativamente su
) para se tornar $user
.