Мне было интересно, почему разрешение на выполнение установлено так, как в Linux. Разрешения на выполнение являются флагами разрешений, но они также (для обычных файлов) изменяют способ просмотра файла ОС.
Поэтому мне было интересно, какова цель того, чтобы даже иметь понятие «исполняемые и неисполняемые» обычные файлы? Другими словами, что, если вы сделали все обычные файлы видимыми ОС как исполняемые команды, и просто сделали разрешения на выполнение вести себя как разрешения?
Казалось бы, единственная разница между этим и тем, как обстоят дела сейчас, заключается в том, что суперпользователь сможет выполнить любой файл без необходимости сначала изменять разрешения. Это причина?
Или, если перефразировать вопрос: является ли неспособность суперпользователя выполнить неисполняемый файл без предварительного изменения разрешений преднамеренным дизайном (аналогично тому, как атрибуты монтирования и чтения только для чтения предназначены для предотвращения суперпользователя от редактирование без предварительного изменения их)?
Или это просто непреднамеренный побочный эффект от того, как была построена система?
Казалось бы, по соображениям безопасности имеет смысл предотвратить случайное выполнение root.