Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LINUX (Лаб.1,2,3,4,5,6).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
430.59 Кб
Скачать
      1. Посилання (зв”язки)

Посилання не є справжніми файлами. Їм відповідають записи в каталогах, що вказують на один і той же індекс. В таблиці індексів зберігається інформація про те, скільки посилань асоційовано з файлом. Файл можна знищити тільки, коли на нього не буде посилань. Посилання не можуть вказувати на файли на іншому диску.

Linux має посилання і іншого типу, т. зв. символічні посилання (symbolic link) Для такого просилання відповідний запис каталога містить індекс файлу, в якому розміщена інформація про шлях до іншого файла, який може знаходитися у довільному місці логічної файлової системи Linux. Якщо знищується файл, то знищуються і всі символічні посилиння на нього.

Для відображення інформації про посилання можна скористатися командою ls –l

При цьому у списку файлів біжучого каталогу буде відображатися, що даний файл є посиланням, наприклад:

lrwxrwxrwx 1 root root 4 Jan 18 16:27 Info->info/

Ознакою того, що даний файл є посиланням є символ “l” на початку рядка

      1. Спеціальні файли

Всі фізичні пристрої, приєднані до Linux – диски, термінали, прінтери – подані файлами. Майже усім зовнішнім пристроям відповідають файли у каталозі /dev. Наприклад, системній консолі відповідає файл /dev/console, а терміналу може відповідати файл /dev/tty01.

Прінтери та термінали називають символьними пристроями, так як обмін інформацією з комп”ютера з ними відбувається посимвольно. На відміну від символьних пристроїв, обмін даними з дисками відбувається цілими блоками, кожен з яких має адрес, поданий відповідними номерами дорожки та сектору. На диск неможливо записати чи прочитати окремий символ. Тому диск є блочним пристроєм.

Для зручності в Linux робота з символьними та блочними пристроями відбувається з точки зору користувача однаково. Як для символьних, так і для блочних пристроїв створюється логічний пристрій символьного типу.

Ще одним типом пристрою є іменований канал (named pipe). Фактично він є буфером FIFO (first in — first out). Такий буфер є звичайним файлом. При записі його розмір збільшується, а при зчитуванні – зменшується. Такі файли використовують для того, декілька одночасно працюючих програм посилали інформацію одна одній. Наприклад, команда роздруку файлів lp визначає параметри друку шляхом запису в іменований канал інформації для системного процеса lpshed який керує друкуванням.

Корисним є також спеціальний пристрій /dev/null (кошик для сміття). Вивід даних у цей файл ігнорується. Наприклад, якщо користувача не цікавлять діагносимчні повідомлення, які зазвичай виводяться в стандартний потік помилок, він може переспрямувати вивід у кошик для сміття:

ls -la > /dev/null

      1. Права доступу до файлів

Права доступу до файлу або каталогу в Linux – це щось більше ніж просто права доступу на читання або запуск програми – вони визначають також і тип файла і то, яким чином буде виконуватися процес, що відповідає файлу.

Права доступу для даного файлу можна дізнатися, якщо виконати команду ls –l . Параметр -l вказує команді ls, що списоу файлів біжучого каталога треба видати у розширеному форматі. Результат виконання команди може виглядати, наприклад, так:

drwx------ 2 sglines doc 512 Jan 1 13:44 Mail

drwx------ 5 sglines doc 1024 Jan 17 08:22 News

-rw------- 1 sglines doc 1268 Dee 7 15:01 biblio

drwx------ 2 sglines doc 512 Dee 15 21:28 bin

-rw------- 1 sglines doc 44787 Oct 20 06:59 books

-rw------- 1 sglines doc 23801 Dee 14 22:50 bots.msg

-rw-r----- 1 sglines doc 105990 Dee 27 21:24 duckie.gif

У цьому виводі відображена практично уся інформація, яку можна отримати аналізуюсчи записи у каталозі та індекси файлів. У першій колонці наведені права доступу до файлів, другий стовпець вказує кфлькість посилань на файл або к-сть додаткових блоків каталогу, третя відображає власника файла (в Linux власники файлів можуть бути трьох типів: користувач, група користувачів, всі користувачі). Четвертий стовпець містить ім”я групи якій належить даний файл, п”ята – розмір файлу в байтах, шоста – час та дату його створення, а сьома – назву файла.

Перший стовпець з правами доступу у свою чергу склавдається з чотирьох полів:

- rwx rwx rwx

Перше поле вказує на тип файла. Звичайний файл позначається (-), каталог – буквою d. Можливі значення цього поля такі:

Символ

Значення

-

Звичайний файл

b

Файл, якому відповідає блочний пристрій

c

Файл, якому відповідає символьний пристрій

d

Каталог

Три наступні поля відображають права доступу для файлу для читання, запису, виконання. Перше поле задає права користувача – власника файла, друге – права групи користувачів, третє – права усіх інших користувачів. Кожне з цих полів має по три символи. Наприклад, послідовність rwx у першому полі означає, що власник файла має права на читання, запис та виконання файла.

Зазвичай файл-програма виконується з правами доступу того користувача, який її запустив на виконання. Але, якщо встановлено спеціальний біт (User Id bit, біт користувача файла) то програма виконується з правами власника файла. Це означає, що програма буде мати такі ж права доступу до інших файлів, що й власник. Наприклад, якщо звичайний користувач запустить файл власником якого є адміністратор (root), то програма буде мати права доступу адміністратора при звертанні до всіх файлів системи, незважаючи на обмеження прав доступу звичайного користувача. Аналогічно діє і інший біт керування (group Id bit), тільки по відношенню до групи.

Дані про режим виконання файлу містять ще біт збереження задачі (sticky bit, біт прилипання). Цей біт вказує системі на необхідність зберегти копію програми, що виконується у пам”яті після її завершення. Включення цього біта вигідно при частому запуску програми, так як економить час на завантьаження файла у пам”ять при кожному запуску.

Завдання та зміна прав доступу виконується з використанням кооманди chmod. Ця команда застосовується у двох формах – абсолютній та відносній. Синтаксис абсолютної форми використовує завдання у восьмірковій формі кода прав доступу. Для отримання значення повного коду захисту файла необхідно додати базові складові чсастини подані у таблиці нижче

Код

Режим доступу

0001

Права на виконання для інших

0002

Права на запис для інших

0004

Права на читання для інших

0010

Права на виконання для групи

0020

Права на запис для группы

0040

Права на читання для группы

0100

Права на виконання для власника

0200

Права на запис для власника

0400

Права на читання для власника

1000

Встановлено біт збереження задачі

2000

Якщо файл виконувальний – то включено біт групи, у всіх інших випадках – повністю блокує доступ до файлу

4000

Якщо файл виконувальний – то включено біт користувача

Наприклад, для того, щоб дати права на читання, запис для власника файлу, на читання та запис групі, та жодних прав іншим користувачам, можна скористатися командою

chmod 660 file

де 660 – це сума відповідник складових кодів прав

При використанні команди chmod у відносній формі, необхідно задати такі параметри:

  • кому даються права

  • права даються вперше, додаються до існуючих, чи вилучаються

  • які нові права даються

Наприклад, команда chmod a=rwx file встановить заново права на читання, запис та виконання для усіх користувачів.

Параметри команди chmod, які використовуються у відносній формі наведені у таблиці нижче

Значення параметра

Опис

Група користувачів

a

Всі користувачі: даний коритстувач, його група, та усі інші

g

Група даного користувача

o

Всі користувачі, що не входять у групу даного користувача

u

Тільки даний користувач

Операція

+

Додати права до вже існуючих

-

Вилучити права

=

Надати вказані права замість існуючих

Права доступу до файлу

x

Право на виконання

r

Право на читання

w

Право на запис

s

Встановлено біт користувача

t

Встановлено біт збереження задачі

Якщо для файла біт користувача встановлено, команда ls –l виведе для нього такий рядок:

-rws------ 1 sglines 3136 Jan 17 15:42 х

Якщо додати біт групи, цей вивід буде такий:

-rws--s--- 1 sglines 3136 Jan 17 15:42 х

Якщо додати біт збереження задачі, отримаємо наступний запис:

-rws--srwt 1 sglines 3136 Jan 17 15:42 х

Літери s та t вказують на стан біта користувача та біта збереження задачі

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]