X підтримують також списки доступу (ACL), за допомогою яких можна для кожного об'єкта задавати права всіх суб'єктів на доступ до нього.
На практиці прапори або управління доступом використовувати доводиться нечасто. У більшості випадків така необхідність виникає у вигляді виключення - наприклад, для тимчасового зменшення прав або для тимчасового надання доступу (легко зробити за допомогою ACL), а також при роботі з дуже важливими файлами.
Суперкористувач. Користувач root (він же суперкористувач) має нульові UID і GID і грає роль довіреної суб'єкта UNIX. Це означає, що він не підкоряється законам, які керують правами доступу, і може на свій розсуд ці права змінювати. Більшість налаштувань системи доступні для запису тільки суперкористувачеві.
Як було сказано раніше (див. розділ «Побіжний погляд на архітектуру UNIX»), в UNIX існує рівень доступу ядра і рівень доступу системи. Суперкористувач працює на рівні доступу ядра, так що є по суті продовженням самої системи.
Багато команд повинні виконуватися тільки від імені суперкористувача, так як в них проводиться взяімодействіе з частинами ядра, що відповідають за взаємодію з апаратурою, права доступу тощо. Якщо ж такі команди дозволяється запускати простим користувачам, застосовується розглянутий вище механізм підміни ідентифікатора користувача.
Системне адміністрування в UNIX проводиться від імені користувача root. При роботі від цього імені слід бути дуже обережним: виконання невірної команди може привести до краху системи і знищенню інформації. Тому навіть адміністратори ніколи не працюють в сеансі суперкористувача весь час, а переходять в режим суперкористувача тільки тоді, коли це дійсно необхідно (наприклад, за допомогою команди su).
Аутентифікація користувачів. В UNIX сеанс роботи користувача починається з його аутентифікації і закінчується його виходом з системи. При вході в систему виконується наступна послідовність дій:
процес getty очікує реакції користувача на одній з термінальних ліній, у разі активності користувача виводить запрошення;
після введення імені користувача запускається програма login, яка перевіряє справжність користувача. Стандартним механізмом є перевірка пароля, заданого для даного користувача;
переконавшись, що пароль введений правильно, login запускає командний інтерпретатор до встановлених UID і GID даного користувача. Таким чином, права доступу будь-якої програми (дійсного суб'єкта), запущеної користувачем в цьому сеансі роботи, визначатимуться правами номінального суб'єкта UID + GID.
unix операційний безпеку ядро ??
Малюнок 1.5. Процес входу в систему.
При роботі по мережі роль getty виконує мережевий демон, наприклад ssh. У деяких сучасних UNIX-системах існують розширення систем авторизації і аутентифікації. Наприклад, в Linux-системах цей механізм називається модулі, що підключаються аутентифікації (Pluggable Authentication Modules, PAM).
2.4 Налаштування системи безпеки
База даних користувачів системи. Всі дані про користувачів UNIX зберігає у файлі / etc / passwd в текстовому вигляді. Кожному користувачеві відповідає один рядок, поля якої розділ...