Это более нормальным, чтобы ограничить доступ к ресурсам исполняемым нуждается для работы, чем для обеспечения разрешения на уровне исполняемого файла. Например, команда mount(8)
обычно может запускаться любым пользователем, но файлы устройств, необходимые для фактического монтирования реальных томов, ограничены определенными пользователями или группами, а команда монтирования проверяет, возможно ли выполнение операции, прежде чем даже попытаться сделать системные вызовы для выполнения операций с устройством.
Это также работает с обычными файлами. Например, для многих менеджеров пакетов Linux требуется база данных установленных программ. Перед установкой чего-либо диспетчер пакетов проверяет разрешения на файл базы данных, чтобы узнать, может ли вызывающий пользователь писать на него, а также проверяет каталоги назначения, чтобы узнать, может ли пользователь их модифицировать. даже если менеджер пакетов не выполняет эти проверки, они не могут внести эти изменения при попытке, ядро просто не позволяет программе выполнять действие, которое владелец не разрешает делать.
Что случилось с защитой на уровне ОС? 1.e., 'chown' root и' chmod', чтобы убедиться, что только root может его запустить? Что не так с функциями ОС? –