З одного боку, є речі, які не може зробити жоден користувач , наприклад
- жорсткі посилання каталогів (через обмеження файлової системи)
- запис на вже згорілий компакт-диск (бо фізика)
Але це не привілеї, тому що їх не можна надати, вони просто неможливі нікому.
Тоді існують обмеження для всієї системи або її частин, які можна вмикати або вимикати.
Наприклад, в OS X є можливість дозволити запуск коду, лише якщо він був підписаний Apple.
Я не вважаю це фактичним привілеєм, тому що жоден користувач не може його мати, якщо суперпользователь не може. Відключити його можна лише глобально.
Редагувати:
Ваша ідея файлу без виконуваного біта також потраплятиме до цієї категорії, оскільки буквально ніхто цього не може зробити, і ніхто не може надати цей дозвіл.
І навіть якщо надавати іншому користувачеві чи групі дозвіл на виконання цього файлу, але не root або корінь групи користувачів, корінь все одно зможе виконати цей файл (протестовано на серверах OS X 10.10, 10.11 та Ubuntu 15.04).
Крім цих випадків, корінь ледь нічого не може зробити.
Однак існує річ, яка називається режимом ядра (на відміну від режиму користувача).
Наскільки я знаю, у здоровій системі лише ядро, розширення ядра та драйвери працюють у режимі ядра, а все інше (включаючи оболонку, з якої ви входите як root) працює в режимі користувача.
Ви можете, таким чином, стверджувати, що "бути коренем недостатньо". Однак у більшості систем користувач root може завантажувати модулі ядра, які, в свою чергу, працюватимуть у режимі ядра, ефективно надаючи root способу запуску коду в режимі ядра.
Однак існують системи (як iOS), де це неможливо (як завгодно) неможливо, принаймні не без використання цілих мереж безпеки. Здебільшого це пов'язано з підвищеною безпекою, як, наприклад, виконання підпису коду.
Наприклад, є ключі шифрування AES, вбудовані в процесори iDevices, до яких можна отримати доступ лише в режимі ядра. Моделі ядра можуть отримати доступ до них, але код у цих модулях ядра також повинен бути підписаний Apple, щоб ядро прийняло їх.
В OS X, починаючи з версії 10.11 (El Capitan), існує також так званий "безкорисний режим" (хоча назва вводить в оману, оскільки root все ще існує), що ефективно забороняє викорінювати певні речі, які інсталятори все ще можуть робити.
Цитуючи цю чудову відповідь на AskDifferent :
Ось що це обмежує навіть від root:
- Ви нічого не можете змінювати в / System, / bin, / sbin або / usr (крім / usr / local); або будь-який із вбудованих додатків та утиліт. Лише оновлення програмного забезпечення та програмного забезпечення можуть змінювати ці області, і навіть вони роблять це лише під час встановлення пакетів, підписаних Apple.
root
, а отже, і права, яке не може бути позбавленеroot
.