Исполняемый бит (в отличие от остальных) в файлах, отличных от unsetuid, не является механизмом безопасности. Все, что вы можете прочитать, вы можете запускать косвенно, а Linux позволит вам косвенно читать все, что вы можете запустить, но не можете читать напрямую (этого должно быть достаточно, чтобы пробить дыру в концепции неустановленного (g) uid x-bit как мера безопасности).
Это скорее для удобства: пусть система запускает его для меня напрямую, если бит установлен, в противном случае мне нужно сделать это косвенно ( bash the_script;
или некоторый взлом, чтобы получить образ памяти исполняемого файла без разрешения на чтение ).
Вы можете установить его для удобства, если вы намереваетесь использовать как исходный код, так и исполнить свой источник.
Очевидно, однако, что многие разработчики разделяемых библиотек разделяют ваше мышление, и, следовательно, многие системы требуют, чтобы разделяемые библиотеки, которые по сути являются нативным эквивалентом неисчерпаемых оболочек, были помечены как исполняемые для того, чтобы их можно было использовать. См. Почему исполняемые библиотеки общего доступа? ,
chmod
вы можете установить права доступа (включая `x) с восьмеричным числом, дает некоторое представление о том, с какой эры это происходит. Я не удивлюсь, если бы он начинался как быстрый и грязный индикатор «это двоичный файл, который вы можете выполнить», со времен, предшествовавших тому, как была изобретена она, но у меня нет никаких доказательств этого