В конце концов я написал функцию bash.
mvs() {
local dest
if [[ $# -ne 2 ]]; then
return 1
fi
if [[ -d $2 ]]; then
dest="$2/$(basename $1)"
else
dest="$2"
fi
mv "$1" "$2" || return $?
chown "$USER":users -R "$dest"
chmod g+rw -R "$dest"
find "$dest" -type d -exec chmod g+xs {} ';'
}