#!/bin/bash # For use with .desktop files and MIME handlers so that the Ubuntu Policy # can be followed: programs cannot be executed when they lack the execute bit. # https://wiki.ubuntu.com/SecurityTeam/Policies#Execute-Permission%20Bit%20Required exe="$1" shift || true if [ -n "$exe" ] && [ ! -x "$exe" ] && \ [ "${exe:0:5}" != "/usr/" ] && [ "${exe:0:5}" != "/opt/" ] then if [ -n "$DISPLAY" ] && [ -x /usr/bin/zenity ]; then /usr/bin/zenity --error --title "Blocked: $*" --text "The file '$exe' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the <a href=\"https://wiki.ubuntu.com/Security/ExecutableBit\">executable bit</a>." else echo "$*: '$exe' is not executable. Aborting." >&2 fi exit 1 fi exec "$@" "$exe"