Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

Быстрая накрутка голосов еще по теме. | Для строительства такой дороги надо иметь в наличии щебень разной фракции.

Сесії і ідентифікатори користувача

Як правило, далеко не кожна авторизація окремих операцій супроводиться актом аутентифікації. Чаші всього використовується принцип сесій роботи з обчислювальною системою. На початку роботи користувач встановлює з'єднання і "входить" в систему. При "вході" відбувається його аутентифікація.
Для того, щоб бути аутентіфіцированним, користувач повинен мати обліковий запис (account) у системній базі даних. Потім користувач проводить сеанс роботи з системою, а після закінчення цього сеансу анулює реєстрацію.
Одним з атрибутів сесії є ідентифікатор користувача (user id) або контекст доступу (security context) який і використовується при подальших авторизаціях. Зазвичай такий ідентифікатор має дві форми: числовий код, вживаний усередині системи, і мнемонічне символьне ім'я, використовуване при спілкуванні з користувачем.

Сесії в Unix
Наприклад, в системах сімейства Unix користувач ідентифікується цілочисельним значенням uid (user identifier). З кожним завданням (процесом) пов'язано два ідентифікатори користувача: реальний і ефективний. В більшості випадків ці ідентифікатори збігаються (ситуації, коли вони не збігаються, детально обговорюються в разд. Зміна ідентифікатора користувача). Таким чином, кожне завдання обов'язково виконується від імені того або іншого користувача, що має обліковий запис в системі.
Користувач може мати також символьне ім'я. У старих системах Unix відповідність між символьним і числовим ідентифікаторами встановлювалася на основі вмісту текстового файлу /etc/passwd. Кожен рядок цього файлу описує одного користувача і складається з сімнадцяти полів, розділених символом ':'. У першому полі міститься символьне ім'я користувача, в другому — числовий ідентифікатор в десятковому записі. Останні поля містять інші відомості про користувача, наприклад, його повне ім'я.
Призначені для користувача програми можуть встановлювати відповідність між числовим і символьним ідентифікаторами самостійно, шляхом перегляду файлу /etc/passwd, або використовувати бібліотечні функції, визначені стандартом POSIX. У багатьох реалізаціях ці функції використовують замість /etc/passwd індексовану базу даних, а сам файл /etc/passwd зберігається лише для сумісності із старими програмами.
У сучасних системах сімейства Unix бібліотеки роботи із списком користувачів мають модульну архітектуру і можуть використовувати різні, у тому числі і розподілені по мережі бази даних. Інтерфейс модуля роботи з конкретним типом БД називається РАМ (Person Autentification Module -модуль аутентифікації людей) (мал. 12.1).
Потрібно відзначити, що відповідність між символьним і числовим ідентифікаторами в Unix не є взаємно однозначною. Одному і тому ж числовому ідентифікатору може відповідати декілька імен. Крім того, в Unix дозволено створити об'єкти з числовим uid, якому не відповідає жодне символьне ім'я.

Мал. 12.1. РАМ і різні бази облікових записів

Більшість сучасних ОС дозволяють також запускати завдання без входу систему і створення сесії. Так, практично всі системи розділення часу (Unix, VMS, Mvs-os/390-z/os) надають можливість користувачам запускати завдання в задані моменти астрономічного часу періодично, наприклад, під час ночі в п'ятницю кожного тижня. Кожна таке завдання виконується від імені певного користувача — того, КТО запитав запуск завдання. Для управління правами доступу в таких ситуаціях ідентифікатор користувача асоціюється не з сесією, а з окремими завданнями, а зазвичай навіть з окремими завданнями. У Windows Nt/2000/xp завдання, які можуть запускатися і працювати без входу користувача в систему, називаються сервісами. За умовчанням, сервіси запускаються від імені спеціального [псевдо|пользователя System, але у властивостях сервісу можна вказати, від чийого імені він запускатиметься. Крім того, деякі комплектації системи (Terminal Server Edition, Citrix ICA) допускають одночасну інтерактивну роботу декількох користувачів. Щоб забезпечити розділення доступу у всіх цих випадках, кожен процес в системі має контекст доступу (security context)відповідний тому або іншому обліковому запису.

 

:: Реклама ::

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017