Ребята, "заумь" городить не надо - нет решения, значит нет.
Так ты спросил на уровне - как устроен космос. Ну и получил ответы.
Есть решение, но на каждое простое решение есть контррешение. Если у юзера есть возможность запускать хоть что-либо, то любой запускаемый код можно умудриться запустить. Хоть бы создать другой файл и туда распаковать, расшифровать нужное.
В системе обычно борются не с блокировкой возможности запускать, а с блокировкой повреждения важного. Тогда изначальный вопрос абстрактен, на практике смысла не имеет, для обычной настольной системы. Если там киоск, клуб и т.п., то там другие программные комплексы, и они настроены исходя из других идей. В Ubuntu есть нужный механизм.
Если тебе совсем полный контроль над неизвестными заранее типами запускаемого контента, то можно копать в сторону AppArmor, дефолтной для Ubuntu. На других системах SELinux. Есть и другие программы. Паралельно см. про ACL подобные штуки для файловых систем и параметры используемые при монтировании. Можно там задавать атрибуты файлов.
Сильно зависит от задачи. Общий случай - AppArmor, SELinux и т.д.