Page 56 - 4784
P. 56
робить організацію доступу до файлів досить гнучкою. Спільне
користування файлами можна організувати практично для будь-
якого складу користувачів, створивши відповідну групу та
установивши для неї права на потрібні файли. Для того, щоб якийсь
користувач одержав доступ до цих файлів, достатньо включити його
у групу-власника, і навпаки — виключення з групи автоматично
змінює для користувача права доступу до файлів.
Власником-користувачем створеного файлу є користувач, що
створив його. Володіння файлом визначає той набір операцій, які
користувач може зробити з файлом. Деякі з них, такі як зміна прав
доступу або власника файлу, може здійснювати тільки власник (або
адміністратор), інші операції, такі як читання, запис і запуск на
виконання (для виконуваних файлів), додатково контролюються
правами доступу.
В операційній системі UNIX існують три базові класи доступу
до файлу, в кожному з яких встановлено відповідні права доступу:
user access(u) — для власника-користувача файлу;
group access (g) — для членів групи, що є власником
файлу;
оther access (о) — для інших користувачів.
Для інших користувачів, крім суперкористувача, UNIX
підтримує три типи прав доступу для кожного класу: на читання
(read, позначається символом r), на запис (write, позначається
символом w) і на виконання (execute, позначається символом х).
Права доступу можуть бути змінені тільки власником файлу або
суперкористувачем (superuser) — адміністратором системи.
Значення прав доступу є різним для різних типів файлів.
Операції, які можна виконувати, випливають із самих назв прав
доступу. Наприклад, щоб переглянути вміст файлу командою cat (l),
користувач повинен мати право на читання (r). Редагування файлу,
тобто його зміна, передбачає наявність права на запис (w). Нарешті,
для того щоб запустити деяку програму на виконання, користувач
повинен мати відповідне право (х). Виконуваний файл може бути як
скомпільованою програмою, так і скриптом командного
інтерпретатора shell. В останньому випадку користувачеві також
знадобиться право на читання, оскільки під час виконання скрипту
командний інтерпретатор повинен мати можливість зчитувати
54