Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Популярність unix у Bell Laboratories росла, І в 1973 році Деніс Рітчі І Кен Томпсон переписали код системи мовою програмування С

Популярність unix у Bell Laboratories росла, І в 1973 році Деніс Рітчі І Кен Томпсон переписали код системи мовою програмування С




Сторінка2/2
Дата конвертації10.03.2017
Розмір0.51 Mb.
1   2

Адміністрування ОС UNIX.


Адміністрування будь-якої комп’ютерної системи передбачає виконання певного набору функцій. При цьому слід розуміти, що функції адміністрування виконує системний адміністратор і слід розрізняти функції системного адміністратора і функції адміністрування операційної системи.
Систе́мний адміністра́тор (від англ. system administrator, systems administrator) - працівник, посадові обов’язки якого передбачають забезпечення роботи комп’ютерної техніки, комп’ютерної мережі і програмного забезпечення в організації.
Деякі функції системного адміністратора не належать до адміністрування ОС. Давайте визначимось.

Основні завдання системного адміністратора:


  • Додавання та видалення користувачів

  • Підключення та видалення апаратних засобів

  • Резервне копіювання

  • Інсталяція нових програм, видалення непотрібних та оновлення версій

  • Моніторинг системи

  • Пошук несправностей

  • Ведення локальної документації

  • Стеження за безпекою системи

  • Надання допомоги користувачам

Дві задачі в цьому переліку не належать до адміністрування операційної системи – ведення локальної документації та надання допомоги користувачам.
Документа́ція - сукупність офіційно визнаних, взаємопов'язаних та складених у визначеній формі документів, які містять передбачувану інформацію про виріб, процес або діяльність даного підприємства. Відповідно до області застосування Документа́цій поділяється на бухгалтерську, конструкторську, нормативну, технічну, товарну, тощо.

Об’єктами адміністрування ОС слід вважати наступні елементи:



  • Файлова система

  • Привілеї та групи

  • Керування процесами

  • Підключення нових користувачів

  • Резервне копіювання

  • Робота в мережах

  • Аналіз продуктивності системи

  • Стратегія та політика адміністрування

Таким чином саме ці елементи ми будемо розглядати, як об’єкти адміністрування. Практичні приклади розглядатимемо на прикладі ОС Free BSD.
Практика (грец. πράξις «діяльність») - доцільна і цілеспрямована діяльність, яку суб'єкт здійснює для досягнення певної мети. Практика має суспільно-історичний характер і залежить від рівня розвитку суспільства, його структури.


1. Файлова система


Будь-яку файлову систему можна роозглядати як систему, що складається з чотирьох основних компонентів:

  • простір імен – методи іменування об’єктів та організація їх у вигляді ієрархій

  • АРІ – набір системних викликів, призначених для переміщення між вузлами системи та керування ними

  • модель безпеки – система захисту, приховування та спільного використання об’єктів

  • реалізація – програмний код, що зв’язує логічні моделі з дисковою підсистемою

Сучасні файлові системи UNIX визначають абстрактний інтерфейс рівня ядра, що дозволяє працювати з різноманітними апаратними інтерфейсами.

Переміщення - зміна положення якогось матеріального об'єкту. В фізиці - це переміщення фізичного тіла. Переміщенням також називають вектор, який характеризує цю зміну. Має властивість адитивності. Абсолютна величина переміщення, тобто довжина відрізка, що сполучає початкову й кінцеву точку, вимірюється в метрах у системі СІ та в сантиметрах у системі СГС.
Деякі частини фалового дерева обробляються традиційною файловою підсистемою, інші керуються окремими драйверами ядра.

Нажаль архітектурні межі визначені нечітко і має місце багато “особливих” випадків.

Систе́ма (від дав.-гр. σύστημα - «сполучення», «ціле», «з'єднання») - множина взаємопов'язаних елементів що утворюють єдине ціле, взаємодіють з середовищем та між собою, і мають мету.
Абстра́кція (лат. abstractio - відвернення, відволікання) - одна з основних операцій мислення, а також метод наукового дослідження, що полягає в тому, що суб'єкт, відокремлюючи які-небудь ознаки об'єкту, що вивчається, відволікається від інших, не враховуються його неістотні сторони і ознаки.
Тради́ція - досвід, звичаї, погляди, смаки, норми поведінки і т. ін., що склалися історично і передаються з покоління в покоління; звичайна, прийнята норма, манера поведінки, усталені погляди, переконання когось; узвичаєння, узвичаєність, неписаний закон.
Архітекту́ра (грец. αρχιτεκτονικη - будівництво) - це одночасно наука і мистецтво проектування будівель, а також власне система будівель та споруд, які формують просторове середовище для життя і діяльності людей відповідно до законів краси.
Наприклад, файли пристроїв дозволяють програмам взаємодіяти з драйверами ядра.
При́стрій (англ. device, appliance, нім. Vorrichtung f, Einrichtung f) - обладнання, конструктивно завершена технічна система, що має певне функціональне призначення і за допомогою якої виконується яка-небудь робота або спрощується, полегшується певний процес.
Вони не є файлами даних, але обробляються базовими засобами файлової системи, а їх характеристики записуються на диск. Іншим ускладнюючим фактором є те, що сучасні версії UNIX підтримують декілька типів файлових систем.
Файлова система UNIX ніколи не була добре організована. Оскільки не існує єдиної системи призначення імен, одночасно використовується багато різних, не узгоджених між собою правил іменування файлів. У багатьох випадках файли групуються за ознакою виконуваних функцій, незалежно від того, як часто вони змінюються. Це ускладнює модифікацію операційної системи. При цьому можна розглядати стандартну структуру файлової системи, що застосовується в різних UNIX-системах. Ця структура містить найбільш важливі каталоги і показана на рисунку 1.

Рисунок 1. Стандартні каталоги UNIX.


Призначення цих каталогів вказане у таблиці 1.

Таблиця 1. Стандартні каталогі та їх вміст


Шляхове ім’я

Вміст каталогу


/

Каталог root (кореневий каталог)

/bin

Команди, необхідні для забезпечення мінімального рівня функціонування системи

/dev

Файли пристроїв: терміналів, дисків, модемів і т.і.

/etc

Важливі файли запуску та конфігурації

/lib

Бібліотеки компілятора мови С


/tmp

Тимчасові файли, що видаляються в процесі перезавантаження

/sys

Робоча область для побудови ядра, файли конфігурації

/proc

Образи всіх працюючих процесів

/stand

Автономні утиліти, програми форматування дисків і т.і.

/usr/bin

Виконувані файли

/usr/games

Іграшки та розважальні програми

/usr/include

Файли заголовків С-програм


/usr/5bin

Команди, що забезпечують сумісність з ядром System V в BSD-системах

/usr/sbin

Служебні системні програми

/usr/lib

Допоміжні файли для стандартних UNIX-програм

/usr/man

Сторінки електронної довідки

/usr/share

Елементи, загальні для різних систем




/var/adm

Облікові файли, журнали використання ресурсів

/var/log

Різноманітні системні журнальні файли

/var/spool

Буферні каталоги для принтерів, електронної пошти і т.і.

/var/tmp

Каталог для тимчасового зберігання файлів


/usr/ucb

Утиліти і програми BSD

/usr/local

Локальне програмне забезпечення

/usr/local/adm

Локальні облікові файли та файли реєстрації

/usr/local/bin

Локальні виконувані файли

/usr/local/etc

Локальні системні файли та файли конфігурації

/usr/local/lib

Локальні допоміжні файли

/usr/local/sbin

Локальні службові системні команди

/usr/local/src

Вихідні тексти для програм каталогів /usr/local/*

/kernel

Файли необхідні для завантаження ядра

Для того щоб зрозуміти функціонування файлової системи UNIX необхідно знати сутність поняття “тип файла”, що використовується у UNIX системах. В більшості цих систем підтримується сім типів файлів:



  • звичайні файли

  • каталоги

  • файли байт-орієнтованих (символьних) пристроїв

  • файли блок-орієнтованих (блочних) пристроїв

  • сокети

  • іменовані канали (FIFO)

  • символьні посилання

В деяких системах не реалізовано підтримку таких типів файлів, як сокети або іменовані канали, а іноді не розділяють файли байт- та блок-орієнтованих пристроїв, поєднуючи їх в один тип файлів пристроїв.


Звичайні файли - це проста послідовність байтів. В UNIX не накладається обмежень на їх структуру. Текстові документи, виконувані програми, бібліотеки функцій та багато іншого – все це зберігається в звичайних файлах.
Докуме́нт - базова теоретична конструкція, яка відноситься до всього, що може бути збережене або представлене, щоб служити як доказ для певної мети.
До них можливий, як послідовний так і прямий доступ.

Каталоги – містять іменовані посилання на інші файли. Каталог створюється командою mkdir і видаляється (якщо пустий) командою rmdir.

Каталоги в яких є файли можуть видалятися командою rm –r.



Файли пристроїв – дозволяють UNIX-програмам взаємодіяти з апаратними засобами та периферійними пристроями системи. Драйвери пристроїв створюють стандартний комунікаційний інтерфейс, який для користувача виглядає як звичайний файл. Слід відрізняти файли пристроїв від драйверів пристроїв. Файли являють собою шлюзи через які драйверу передаються запити. Файли байт-орієнтованих пристроїв дозволяють зв’язаним з ними драйверам виконувати власну буферизацію введення-виведення. Файли блок-орієнтованих пристроїв обробляються драйверами, що виконують введення-виведення великими порціями (блоками) і завдання буферизації покладають на ядро.
Задача - проблемна ситуація з чітко визначеною метою, яку необхідно досягти; в більш вузькому сенсі задачею називають також цю саму мету, що дана в рамках проблемної ситуації, тобто те, що необхідно виконати.


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

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

Символічні посилання – забезпечують можливість замість шляхового імені файла вказувати псевдонім.
Псевдоні́м (грец. ψευδής - «помилковий, брехливий, вигаданий» і грец. όνομα - «ім'я») - ім'я, використовуване людиною замість справжнього (даного при народженні, зафіксованого в документах) в тій або іншій публічній діяльності.

Операційна система Free BSD зберігаючи загальну концепцію UNIX має деякі відмінності від стандартної структури розглянутої вище.
Конце́пція (лат. conceptio - розуміння) - система поглядів, те або інше розуміння явищ і процесів; єдиний, визначальний задум.
Але це ніяк не впливає на методи адміністрування. Отже розглянемо наступні дії з файловою системою Free BSD:

  • моніторинг використання файлової системи

  • монтування та демонтування файлових систем

  • перевірка та відновлення файлових систем



1.1 Моніторинг використання файлової системи


Одна з концепцій UNIX-подібних файлових систем, незнайома користувачам Windows, полягає в ідеї “точок монтування” (mount point).
Відно́влення (рос. восстановление, англ. reduction; нім. Reduktion f) -- це процес приєднання електронів речовиною, при цьому ступінь окиснення її елементів знижується.
У Windows кожному диску системи призначено им’я у вигляді літери (наприклад С: ), і кожен диск має незалежну файлову систему. В UNIX існує тільки одна загальносистемна структура каталогів, і всі диски монтуються як різноманітні точки в ній. Перевагою такої структури є легкість додавання дискового простору: достатньо підмонтувати новий диск або розділ до певної точки ієрархії.
Додавання - бінарна арифметична операція, суть якої полягає в об'єднанні математичних об'єктів.
Недоліком є те, що в такій файловій системі складніше перемістити весь вміст одного диска на інший.

Команда df (disk free – вільний простір) – найпростіший спосіб отримання інформації про використання дискового простору. Ознайомлення з виведенням команди df є частиною щоденної перевірки стану системи.

Виведення команди df виглядає наступним чином:

Filesystem

1k-blocks

Used

Avail

Capaciti

Mounted on

/dev/ad0s1a

49583

28427

17190

62%

/

/dev/ad0s1f

4254901

1959405

1955104

50%

/usr

/dev/ad0s1e

19815

12058

6172

66%

/var

procfs

4

4

0

100%

/proc

Слід роз’яснити, що осначають ці написи. Спочатку слід вказати, що назви дисків у Free BSD мають таке написання: ad0, ad1, ad2, ad3 – що відповіає жорстким дискам підключеним відповідно до порядку HDD0, HDD1, HDD2, HDD3. Розділи називають слайсами (slice) – вони позначаються відповідно літерою s, а розділи Free BSD позначаються літерами відповідно за призначенням розділу:

а – кореневий розділ ( / )

b – розділ підкачки (swap)

c – звертається до всього диска в небезпечному режимі

d, e, f, g, h – для загального використання (розміщення каталогів)

Таким чином напис ad0s1a – означає диск HDD0 (primary master), перший слайс і розміщений в ньому кореневий каталог.

Відповідно ad0s1f – для розміщення каталога /usr , ad0s1e – розміщений каталог /var.


Команда du (disk usage – використання диска) – рекурсивно виводить розмір всіх каталогів, що знаходяться в поточному каталозі, або в каталозі вказаному в якості параметра.
Пара́метр (від дав.-гр. παραμετρέω) - відмірюю, розмірюю)(рос. параметр, англ. parameter, нім. Parameter m, Kennwert m, Kenngrösse f, Kennzahl f) - величина, що нею характеризують якусь властивість, стан, розмір або форму об'єкта, робочого тіла, процесу, явища або системи тощо.
Рекурсія (лат. Recursion) - метод визначення класу чи об'єктів методів попереднім заданням одного чи декількох (звичайно простих) його базових випадків чи методів, а потім заданням на їхній основі правила побудови класу, який визначається.
Параметр –d , що супроводжується числом задає глибину рекурсії. Наприклад:

# du –d 1 /home/



22572

/home/

9

/home/vova

31

/home/filip

1520

/home/alice

66211

/home/pasha


1.2 Монтування та демонтування файлових систем


Це питання наочно демонструє багатогранність UNIX-систем. Припустимо, що система заповнила один диск ( /dev/ad0 ) і адміністратор додає другий диск, як primary slave (HDD1). Система визначає його як /dev/ad1 . після розбиття диска на розділи і вказування мітки з’явиться одна або декілька файлових систем, які можна додати в будь-яку точку структури каталогів системи. Іншими словами всі каталоги системи можуть за бажанням адміністратора отримати певну, визначену адміністратором додаткову ємність. При цьому структура всієї системи залишиться незмінною.

Команда mount – призначена для монтування нової файлової системи.

Перед тим як монтувати файлову систему необхідно створити точку монтування. Наприклад ми маємо бажання розширити каталог /usr/home в якому знаходяться локальні каталоги користувачів.
Для створення точки монтування створюємо каталог /home командою mkdir /home. Тепер ми можемо монтувати розділ (розділ повинен бути створений до монтування).

Якщо монтується розділ ad1s1g – то команда виглядає так:



# mount /dev/ad1s1g /home

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



Filesystem

1k-blocks

Used

Avail

Capaciti

Mounted on

/dev/ad0s1a

49583

28427

17190

62%

/

/dev/ad1s1g

39245453

3362491

32119340

12%

/home

/dev/ad0s1f

4254901

892410

3140012

22%

/usr

/dev/ad0s1e

19815

12058

6172

66%

/var

procfs

4

4

0

100%

/proc

Команда umount – призначена для демонтування файлової системи.

Якщо необхідно демонтувати файлову систему /home , яку ми перед цим монтували - цю дію можна виконати такою командою:

# umount /home

Такий самий результат можна отримати ввівши команду:



# umount /dev/ad1s1g
А команда

# umount -a

демонтує всі файлові системи крім кореневої.

Єдине обмеження, яке існує для виконання цієї команди – недозволяється знаходитись всередині файлової системи, яка демонтується. Для користувачів Windows це означає, що не можна видаляти папку всередині якої ви знаходитесь.

Операційні системи UNIX підтримують не тільки власні файлові системи, а й файлові системи інших ОС. Наприклад по замовчанню ОС Free BSD підтримує файлові системи вказані у таблиці 2.


Таблиця 2. Файлові системи, що підтримуються стандартним ядром


Файлова система

Назва

FFS

Швидка файлова система

MFS

Файлова система в пам’яті

NFS

Мережева файлова система

MSDOSFS

Файлова система MS-DOS

CD9660

Файлова система ISO-9660 (CD-ROM)

PROCFS

Файлова система процесів

Крім того є можливість включити в ядро системи підтримку інших фалових систем, наприклад NTFS (використовується у Windows) та Ext2FS (Linux).

Таким чином ОС Free BSD може працювати практично в усіма найбільш поширеними файловими системами, чого не можна стверджувати про ОС Windows, в якій не передбачено роботи з іншими, відмінними від базових файловими системами. Windows просто не бачить диски з іншими файловими системами.

Приклади монтування файлових систем у Free BSD:



# mount_msdos /dev/ad1s1 /mnt - монтування диска Windows98

( система MS-DOS)



# mount_ext2fa /dev/ad1s1 /mnt – монтування розділу Linux

# mount_cd9660 /dev/acd0c /cdrom – монтування CD-ROM

# mount /dev/fd0 /floppy – монтування флопі диска

# mount_msdos /dev/fd0 floppy – флопі з системою DOS

1.3 Перевірка та відновлення файлових систем


Файлова система UNIX напрочуд надійна і виконує значну роботу, долаючи будь-які збої та відмови апаратних засобів.
Наді́йність - властивість технічних об'єктів зберігати у часі в установлених межах значення всіх параметрів, які характеризують здатність виконувати потрібні функції в заданих режимах та умовах застосування, технічного обслуговування, зберігання та транспортування.
Але існує ряд причин, що викликають пошкодження файлів та порушення їх цілісності. В таких випадках стане у пригоді спеціальна програма, що входить до складу практично всіх UNIX-систем - fsck (File System Consistency checK).

Ця програма схожа на Microsoft ScanDisk. Її основне завдання полягає в перевірці файлових систем та їх придатності до монтування. Такий режим має назву preen (чищення) і задається опцією p. Крім того цей режим випавляє всі неузгодженості у файлових системах, що не відмічені як clean (чистий) коректним методом зупинки системи, тобто виправляє помилки, що виникають при некоректному виключенні системи.

Утиліта fsck виконується при кожному завантаженні системи, але її можна запустити з командного рядка для будь-якої змонтованої файлової системи.

Команди́р частини (підрозділу) - посадова особа командного складу в збройних силах, на котру покладено командування (керівництво) підрозділом, частиною (кораблем), з'єднанням. У більшості країн світу командир є єдиноначальником і несе особисту відповідальність за постійну бойову і мобілізаційну готовність ввіреної йому частини (підрозділу).
Для його необхідно перейти до однокористувацького режиму. Після запуску утиліти для одного чи декількох пристроїв командою :

fsck -p /dev/ad1s1g необхідно вийти з однокористувацького режиму командою exit і повернутися до звичайного стану системи.
2. Привілеї та групи.

Модель користувачів та прав доступу в більшості систем UNIX має один рівень. Існує тільки два типи користувачів: звичайний та суперкористувач, або root. Права доступу звичайних користувачів так чи інакше обмежують їх дії в системі. Користувач root – єдиний, хто звільнений від будь-яких обмежень. Інші моделі прав доступу, наприклад у Windows включають у себе більш складні моделі, що дозволяють забезпечити певні функції системи, такі як аутентифікація та процеси системного рівня. Слід відмітити, що система з складною системою прав доступу є менш захищеною, оскільки містить більше елементів, що піддіються збоям.

Автентифікáція (з грец. αυθεντικός ; реальний або істинний) - процедура встановлення належності користувачеві інформації в системі пред'явленого ним ідентифікатора. .
Елеме́нт (лат. elementum - стихія, первинна речовина) - нерозкладний (у даній системі) компонент складних тіл, матеріальних систем, теоретичних побудов; будь-який об'єкт, пов'язаний певними відношеннями з іншими об'єктами в єдиний комплекс.
В той же час прості моделі вимагають від адміністратора більшої вишуканості в роботі по налаштуванню прав доступу.

Кожний користувач у Free BSD має обмежені права доступу і постійне місце для роботи в системі – початковий каталог (home directory). Підвищити свій статус до рівня root дає можливість команда su. Вона запитує пароль rootякий є найважливішою інформацією в будь-якій UNIX-системі. Отримання доступу з правами root дозволяє створювати, змінювати та знищувати абсолютно все, що містить система.

Абсолют (від лат. absolutus - безумовний, необмежений) - в ідеалістичній філософії і релігійних тлумаченнях - вічна, незмінна нескінченна першооснова Всесвіту (бог, абсолютна ідея тощо). Те, що нічим не зумовлене, ні від чого не залежне.
При реєстрації в системі з правами root слід виявляти підвищену обережність.
Реєстра́ція - запис, фіксація фактів або явищ з метою обліку та надання їм статусу офіційно визнаних актів (реєстрація народження або шлюбу); внесення в список, в книгу обліку.
Для того, щоб запустити команду su необхідно належати до елітної групи, що називається wheel. Хоча Free BSD має тільки два типи користувачів – звичайний та root, група wheel дуже ефективно створює обмежене коло особливо довірених користувачів: тих, кому дозволено отримувати привілеї root. Використовуючи можливості команди su, можна покласти частину адміністративних завдань на інших користувачів.

Користувачів системи можна розділити на реальних людей, що підключаються до системи та псевдокористувачів, таких як bin, operator, daemon, nobody та ін. Псевдокористувачі необхідні системі для того, щоб керувати процесами. Справа в тому, що процеси, як і файли належать певним користувачам і при взаємодії з іншими процесами і файлами підкоряються обмеженням, що накладаються на них правами доступу. Якщо користувачем виступає root, тобто користувач з необмеженими правами, то система може стати менш захищеною в наслідок можливих помилок користувача. Тому більшість системних процесів запускається з правами доступу псевдокористувачів, а не користувача root.

Кожний користувач може належати до будь-якої групи в системі, включаючи персональні групи інших користувачів або групу wheel. Єдиним користувачем, що керує приналежністю користувачів до різних груп є root.

Як правило групи необхідні для того, щоб забезпечити декільком користувачам права доступу до набору файлів або процесів. Неприпустимо, щоб декілька користувачів мали один пароль та реєструвалися під одним іменем. Групи дозволяють їм володіти набором файлів та мати необхідні для роботи права доступу до них.

У всіх варіантах UNIX кожен файл або каталог належить і користувачу і групі. Але це не означає, що всі користувачі або члени групи мають однакові права доступу.

Розглянемо права доступу та володіння для набору файлів. Для отримання лістингу необхідно запустити команду ls з опціями -l (детальне виведення) та -a (виведення всіх файлів, з прихованими включно).

# ls -la /home/vova

total 3126



drwxr-xr-x

3 frank

users

512 May

12

.

drwxr-xr-x

52 root

users

9216 Mar

7

..

- rw -r--r--

1 bob

users

291090 Jan

23

1.bmp

- rw -rw-r--

1 bob

bob

2703 Dec

22

contents.html

- rw -r--r--

1 frank

users

3657 Jan

9

file.txt

- rw -r--r--

1 bob

users

92195 Sep

11

1.uu

drwxr-xr-x

2 root

users

512 Jan

2

files

drwxr-xr-x

12 root

wheel

1024 Feb

18

more-files

Розберемо, що означають ці написи. Рядок drwxr-xr-x задає режим доступу до файла. Для кожного різновиду користувачів – користувач (user), група (group) та інші (others) – існує набір бітів повноважень.

Різновид (рос. разновидность, англ. species, sort, variation, variety, нім. Abart f) - у мінералогії - окремі члени мінерального виду змінного складу.
Повнова́ження - офіційно надане кому-небудь право певної діяльності, ведення справ.
Ці біти надають три види доступу – читання (read), запис (write) та виконання (execute). Сутність цих бітів для файлів наступна :



  • r – файл дозволено читати

  • w – файл можна модифікувати, видаляти та перейменовувати

  • x – файл можна виконувати

Тепер ми готові розшифрувати рядок, що задає режим доступу. Перший символ визначає каталог (d) або файл (-) , далі групи по три символи визначають права власника файла , права членів групи і права інших користувачів.
Символізм (фр. symbolisme, з грец. симболон - знак, ознака, прикмета, символ) - літературно-мистецький напрям кінця ХІХ - початку XX ст., основоположники якого, базуючись на ідеалістичній філософії Шопенгауера, «теорії несвідомого» Едуарда Гартмана і поглядах Фрідріха Ніцше, проголосили основою мистецької творчості символ - таємну ідею, приховану у глибині всіх навколишніх, а також і потойбічних явищ, що її можливо розкрити, збагнути й відобразити тільки за допомогою мистецтва, зокрема музики й поезії. Зумовлена цією установою поетика символізму вирізнялася глибоким культом «слова, як такого» («світ слова»), великою увагою до музичності, формальних пошуків, ускладнених образів й асоціацій, нахилом до таємничості, а то й містичності, що виявлявся особливо у використанні натяків і недомовок, в уживанні великих літер у деяких словах для підкреслення їх особливого значення тощо.
Си́мвол (англ. symbol символ) - знак, сутність, яка позначає іншу сутність.
Таким чином запис - rw - rw - r - - означає, що це файл, права власника rw- (читання і запис), права групи rw- (читання і запис), права інших користувачів r - - (тільки читання).

Права володіння файлами можна змінювати. Цю дію може виконувати суперкористувач root. Для зміни хазяїна файла використовується команда chown (change owner – змінити володаря):

# chown bob file.txt

Ця команда зміню ім’я хазяїна файла file.txt (але не групу) на bob. Раніше хазяїном цього файла був frank (дивись у таблиці прав доступу вище).

Команда chown може застосовуватись до каталогів:

# chown bob /home/frank

Наведена команда змінює право доступу до каталога з користувача frank на користувача bob, який тепер може створювати і видаляти файли в каталозі, навіть якщо вони йому не належать.

За допомогою команди chgrp можна змінити права володіння групи.

Пра́во володі́ння (лат. ius possidendi) - забезпечена законом можливість мати у себе певну річ, утримувати її у своєму господарському підпорядкуванні (фактично тримати річ, зараховувати на баланс та ін.)
Діє ця команда таким чином:

# chgrp users contents.html

Після цього права володіння файлом contents.html будуть належати групі users (раніше вони належали групі bob).

Змінювати права доступу до файлів і каталогів можна також за допомогою команди chmod ( change mode – змінити режим). Цю команду використовують двома способами: з числовим або символьним аргументом.

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

Двійкова система числення - це позиційна система числення, база якої дорівнює двом та використовує для запису чисел тільки два символи: зазвичай 0 (нуль) та 1 (одиницю). Числа, представлені в цій системі часто називають двійковими або бінарними числами.
Значення бітів наведені в таблиці 3.


Таблиця 3. Значення бітів режимів прав доступу.

Біт

Значення

0

Немає доступу

1

Доступ на виконання

2

Доступ на запис

4

Доступ на читання

Таким чином режиму «читання та запис» відповідає число 110 (6),

режиму «читання та виконання» число 101 (5), «читання запис та виконання» число 111 (7).

Комбінація цифр формує трьохзначне число, що задає права доступу до файла. Наприклад:

755 – читання/запис/виконання для володаря, читання/виконання для групи і читання/виконання для інших

644 – читання/запис для володаря, тільки читання для групи і для інших

600 – читання/запис для володаря, для групи і для інших доступу немає
Застосування команди виглядає так:

# chmod 755 testscript.sh


Символічний метод легше запам’ятовується за рахунок використання символічних флагів, що задаються в якості аргумента команди. Символічні режими доступу задаються рядком символів.
Символіка - сукупність символів, які використовуються певною групою осіб, організацією, громадським чи політичним утворенням, державою тощо.
Перші символи вказують, чиї права змінюються u - володаря, g - групи, o – інших, a – всіх (встановлюється по замовчанню, якщо перший символ не задано).

Другий символ – вказує на вид зміни , - , = , а третій – біти доступу.

Наприклад:

go w - додає право на запис для групи та інших користувачів

х - додає право на виконання для всіх

ugo=rw – встановлює всім права на читання та запис (таке саме значення має запис a=rw).

Таким чином, як бачимо Free BSD надає достатньо прості і дієві засоби керування та адміністрування правами доступу всіх категорій користувачів у вигляді простих і зрозумілих команд.

3. Керування процесами.

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

Системні та користувацькі процеси підкоряються однаковим правилам, внаслідок чого керування ними відбувається за допомогою одних і тих самих команд.

Процес складається з адресного простору та набору структур даних, що містяться в середині ядра.

Ресу́рси - 1. Запаси чого-небудь, які можна використати в разі потреби. Грошові цінності, джерела чого-небудь.
Контроль (фр. contrôle, от contrerôle - подвійний список): Перевірка, облік, спостереження за чим-небудь. Установи, особи, що перевіряють діяльність будь-якої іншої організації або відповідальної особи, звітність тощо.
В програмуванні та комп'ютерних науках структу́ри да́них - це способи організації даних в комп'ютерах. Часто разом зі структурою даних пов'язується і специфічний перелік операцій, що можуть бути виконаними над даними, організованими в таку структуру.
В структурах ядра зберігається різноманітна інформація про кожен процес. До найбільш важливих відомостей належать:



  • таблиця розподілу пам’яті процесу

  • поточний статус процесу (виконується, призупинений, неактивний)

  • пріоритет виконання процесу

  • інформація про ресурси, що використовуються процесом

  • маска сигналів процесу

  • ідентифікатор володаря процесу

Кожному новому процесу, що створений ядром, надається унікальний ідентифікатор – Process ID (PID).

Ідентифіка́тор (identifier) - 1. Ознака, яка служить для ідентифікації особи чи предмета, що розпізнається. // Захисна ознака для встановлення справжності банкноти чи цінного папера.
Ідентифікаційні номери надаються процесам в порядку їх створення. Коли номери закінчуються, ядро скидає лічильник в одиницю і знову починає надавати їх по порядку, пропускаючи ті ідентифікатори, що ще використовуються.

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

Інтерпретатор мови програмування (interpreter) - програма чи технічні засоби, необхідні для виконання інших програм, вид транслятора, який здійснює пооператорну (покомандну, построкову) обробку, перетворення у машинні коди та виконання програми або запиту (на відміну від компілятора, який транслює у машинні коди всю програму без її виконання).
Всі процеси, крім тих, що створюються ядром, є потомками процесу init.

На рівні процесів існують запити на переривання, що мають назву сигналів. В UNIX визначено більше тридцяти різних сигналів. В таблиці 4 перелічено сигнали, що мають найбільше цікавити системного адміністратора.



Таблиця 4. Сигнали процесів

Ім’я

Опис

Реакція

Перехоп-люється

Блоку-ється

HUP

Відбій

Завершення

Так

Так

INT

Переривання

Завершення

Так

Так

QUIT

Вихід

Завершення

Так

Так

KILL

Знищення

Завершення

Ні

Ні

BUS

Помилка на шині

Завершення

Так

Так

SEGV

Помилка сегментації

Завершення

Так

Так

TERM

Програмне завершення

Завершення

Так

Так

STOP

Зупинка

Зупинка

Ні

Ні

TSTP

Сигнал зупинки з клавіатури

Зупинка

Так

Так

CONT

Продовження після зупинки

Ігнорується

Так

Ні

WINCH

Зміна вікна

Ігнорується

Так

Так

USR1

Визначається користувачем

Завершення

Так

Так

USR2

Визначається користувачем

Завершення

Так

Так

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

Процеси, що виконуються можуть мати чотири стани:


  • виконання – процес можна виконувати

  • чекання – процес чекає виділення якого-небудь ресурсу

  • зомбі – процес намагається завершитися

  • зупинка – процес призупинений (не має дозволу на виконання)

Для поточного контролю процесів системний адміністратор використовує команду ps. За допомогою цієї команди можна отримати інформацію про ідентифікатори, приорітети, об’єм використаної пам’яті, час центрального процесора, поточний стан процесу та інше.
Ви́ділення (екскреція) - процес виведення кінцевих продуктів, які утворилися в ході обміну речовин в клітинах тіла при розщепленні органічних енерговмісних речовин. Цю функцію виконують як спеціалізовані видільні органи, так і інші органи чи системи, для яких видільна функція може бути побічною, другорядною.
Центральний процесор, ЦП (англ. Central processing unit, CPU) - функціональна частина комп'ютера, що призначена для інтерпретації команд.
Процеси-зомбі позначаються в лістингу як або . Команда може використовуватись з аргументом lax. При цьому вона видає інформацію скоріше за рахунок того, що не співставляє ідентифікатори процесів і імена користувачів. Крім того команда ps lax надає деяку додаткову корисну інформацію.

Також для контролю над процесами можна використовувати програму top, яка дає можливість робити не разовий знімок системи, а спостерігати все, що в ній відбувається регулярно через певні проміжки часу (по замовчанню кожні 10 секунд). Користувач root може запустити цю програму з опцією -q (top -q), щоб забезпечити їй максимально можливий пріоритет.

Секу́нда (скорочено с.) - одиниця виміру часу у СІ (колишня МКС) та системі СГС.
Пріоритет (рос. приоритет, англ. priority, нім. Priorität f) -

Іноді в системі можуть з’являтися некеровані процеси. Вони можуть бути двох типів:


  • користувацькі – що споживають занадто багато системних ресурсів

  • системні – що випадково починають себе некоректно поводити

У випадку появи в системі некерованих процесів їх зазвичай призупиняють на певний час сигналом STOP, з’ясовують причину і потім перезапускають сигналом CONT. Якщо ж є необхідність повністю зупинити виконання якого-небудь процесу – його «вбивають» сигналом KILL.


4. Підключення нових користувачів

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

Три з них визначаються системними вимогами, два пов’язані з формуванням середовища користувачів і ще декілька можуть знадобитися з метою адміністрування.

Обов’язкові етапи:



  • відредагувати файли passwd та shadow з метою створення реєстраційного запису користувача

  • встановити пароль для користувача

  • створити початковий каталог користувача

Користувацькі етапи:

  • скопіювати в початковий каталог користувача стандартні конфігураційні сценарії

  • встановити каталог електронної пошти та створити поштові псевдоніми

Адміністративні етапи:

  • додати запис нового користувача в файл /etc/group

  • встановити дискові квоти

  • перевірити правильність створення реєстраційного запису

Різні системи UNIX надають для виконання цих етапів різноманітні засоби автоматизації.

Автоматиза́ція - один з напрямів науково-технічного прогресу, спрямований на застосування саморегульованих технічних засобів, економіко-математичних методів і систем керування, що звільняють людину від участі в процесах отримання, перетворення, передачі і використання енергії, матеріалів чи інформації, істотно зменшують міру цієї участі чи трудомісткість виконуваних операцій.
Електро́нна по́шта (англ. e-mail, або email, скорочення від electronic mail) - популярний сервіс в інтернеті, що робить можливим обмін даними будь-якого змісту (текстові документи, аудіо-, відеофайли, архіви, програми).
В операційній системі Free BSD для виконання додавання користувачів та груп використовують сценарій adduser. Ця програма відрізняється від сценаріїв adduser або useradd які застосовуються в Linux, проте виконує ту саму задачу. Запустити сценарій adduser може тільки користувач root.

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

Розглянемо приклад сеансу роботи adduser.

# adduser -s

Use option ”–silent” if you don’t want to see warning and questions.

Check /etc/shells

Check /etc/master.passwd

Check /etc/group

Enter your default shell: csh date ksh no sh tcsh [ksh]:

Your default shell is: ksh -> /usr/local/bin/ksh

Enter your default HOME partition: [/home] :

Copy dotfiles from : /usr/share/skel no [/usr/share/skel] :

Send message from file : /ets/adduser.message no [/ets/adduser.message] :

Use password-based authentication (y/n) [y] : y

Enable account password at creation (y/n) [y] : y

Use an empty password (y/n) [n] : n
Ok, let’s go.

Don’t worry about mistakes. I will give you the chance later to

correct any input.

Enter username [a-z 0-9 - ] : vov

Enter full name [ ] : Vov user

Enter shell csh date ksh no sh tcsh [ksh] :

Enter home directory (full path) [ /home/vov ] :

Uid [1005] :

Enter login class : default [ ] :

Login group vov [vov] :

Login group is “ vov “ . Invite vov into other groups : quest no [no] :

Use password-based authentication (y/n) [y] : y

Use an empty password (y/n) [n] : n

Enter password [ ] :

Enter password again [ ] :

Enable account password at creation (y/n) [y] : y


Name : vov

Password : ****

Fullname : Vov user

Uid : 1005

Gid : 1005 (vov)

Class :


Groups : vov

HOME : /home/vov

Shell : /usr/local/bin/ksh

OK? (y/n) [y] :

Added user “ vov ”

Send message to “ vov “ and : no root second_mail_address [no] :


Vov user,

Your account “ vov “ created.

Have fun!
See also chpass(1), finger(1), passwd(1)

Add anything to default message (y/n) [n] :

Send message (y/n) [y] : n

Copy files from /usr/share/skel to /home/vov

Add another user? (y/n) [y] : n

Goodbye!
Натискання клавіші Enter після кожного запиту встановлює значення по замовчанню – воно вказано в дужках. В деяких випадках значення вибирається із списку. Якщо список містить значення no, то воно забороняє всі інші можливості.

Видалення користувача виконується достатньо просто. Для цього використовується команда rmuser, аргументом якої є ім’я користувача.

Приклад сеансу роботи rmuser.

# rmuser vov

Matching password entry :

vov : IRBplrE/nkDQo : 1008 : 1008 : : 0 : Vov

user : /home/vov : bin/csh

Is this the entry you wish to remove? y

Remove user’s home directory ( /home/vov ) ? y

Updating password file, updating data bases, done.

Updating group file : (removing group vov - - personal group is empty)

done.

Removing user’s home directory ( /home/vov ) : done.



Removing files belonging to vov from /tmp : done.

Removing files belonging to vov from /var/tmp : done.

Removing files belonging to vov from /var/tmp/vi.recover : done.
Отже, як видно з лістингу – видалення користувача відбувається швидко і дуже просто. Слід тільки відмітити, що при видаленні користувача права володіння його файлами продовжують належати UID (User ID), який залишається в системі.
5. Резервне копіювання

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

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

Набагато кращим рішенням в цьому випадку є відновлення даних з резервних копій, які були створені раніше. Готуйтесь до гіршого і воно ніколи не настане – так виглядає закон Мерфі. Обережність – це ціна, яку доводиться платити за безпеку. Важливість резервного копіювання немає необхідності доводити. Слід тільки звернути увагу на те, що процедура ця вимагає немало часу і затрат.

В системах UNIX існує стара, перевірена часом утиліта dump, яка призначена для створення резервних копій. Програма дозволяє створювати «інкрементні» резервні копії, коли в перший раз створюється копіювання всієї системи, а потім копіюються тільки змінені або нові файли. Це дозволяє економити час та місце на носіях.

Для створення резервної копії необхідно використовувати який-небудь зовнішній носій, який можна монтувати і виконувати копіювання. Якщо в якості зовнішнього носія використовується пристрій IDE то його монтувати не має потреби, оскільки команда dump записує інформацію безпосередньо на цей пристрій і не потребує монтування файлової системи.

Наступна команда виконує повне резервне копіювання файлової системи /home

# dump -0u -f /dev/ad2 /home
Опція 0 відповідає копіюванню на рівні 0 (копіюються всі файли), а опція u вказує на запис у файл /etc/dumpdates. Цей файл має текстовий формат необхідний утиліті dump для того, щоб при «інкрементному» копіюванні встановити які файли потребують збереження.

Після цього можна виконувати «інкрементне» копіювання використовуючи той самий синтаксис, але з більш високим номером рівня dump:

# dump -1u -f /dev/ad2 /home
Рівні dump дозволяють копіювати тільки ті файли, які змінилися з моменту копіювання на більш низькому рівні.

Си́нтаксис (дав.-гр. σύνταξις - "побудова, порядок, складання", від σύν - "з, разом" і ταξις - "впорядкування") - розділ граматики, що вивчає граматичну будову словосполучень та речень у мові.
Чим нижчий рівень, тим більше файлів копіюється. Рівень 0 завжди відповідає глобальному копіюванню всіх файлів.

При відновленні даних використовується утиліта restore. Вона може виконуватись в інтерактивному та не інтерактивному режимах. Інтерактивний режим використовується для визначених файлів, наприклад для випадково видалених. Для цього переходять у відповідний каталог і запускають програму restore в інтерактивному режимі:

# restore -if /dev/ad2

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

Відновити всі файли можна за допомогою не інтерактивного відновлення:

# restore -rf /dev/ad2


Команди dump та restore мають багато особливостей, що розширюють їх можливості. Дуже гарний посібник з використання цих команд наведений в [6].

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

Аспект (лат. aspectus - вигляд, погляд) - поняття філософії (онтології, теорії пізнання). У філософії аспект розглядається
На щастя існує альтернативне рішення. Цим рішенням є створення дзеркального сервера.
Дзе́ркало, діал. лю́стро (пол. lustro < італ. lustro), заст. і поет. свіча́до (від пол. zwierciadło, контамінація з «світити») - гладка поверхня, яка відбиває світло і дозволяє отримати зображення предмета.
Дзеркальний сервер являє собою ще один сервер, завданням якого є щоденна синхронізація файлів з основним сервером (тобто повне клонування). Якщо з основним сервером щось трапиться – його замінить дзеркальний. В системах UNIX цю задачу може виконувати спеціальна утиліта CVSup.

Розглянемо, що необхідно для налаштування CVSup. Нехай необхідно створити дзеркальні копії чотирьох каталогів /home, /usr/local/www, /var/mail, /etc. В дійсності необхідно дублювати більше даних, але для прикладу буде достатньо. Спочатку необхідно настроїти основний каталог, який вказує демону cvsupd, які дані пересилати клієнтам, тобто дзеркальній машині (демонами у Free BSD називають сервіси). Маючи повноваження root, необхідно дати наступні команди:

# cd /usr/local/etc

# mkdir -p cvsup/sup

# cd cvsup/sup

# mkdir home www mail etc

Потім в кожному з чотирьох нових підкаталогів необхідно створити два файли: .cvs та releases. Ці файли описують «набір» для сервера cvsupd та вмикають його обслуговування. В підкаталозі home необхідно створити файл home.cvs з наступними рядками:

upgrade home

rsymlinc *

У файлі releases необхідно розмістити наступне:

home list=home.cvs prefix=/

Ті самі дії необхідно виконати для інших підкаталогів, змінюючи лише ім’я файла .cvs та відповідне посилання на нього. Після цього необхідно запустити сервер cvsupd:

# cvsupd -b /usr/local/etc/cvsup -C 1 -1 /dev/stdout


Тепер переходимо до дзеркальної машини. В каталозі /etc необхідно створити файл mirror-supfile, або з будь-яким іншим. Приклад вмісту цього файлу:

*default host=server1.hostname.com

*default delete use-rel-suffix

*default compress

*default preserve

*default base=/usr

*default release=home

home


*default base=/usr/local

*default release=www

www

*default base=/var



*default release=mail

mail


*default base=/usr

*default release=etc

etc
В цьому лістингу server1.hostname.com відповідає імені хосту основного сервера.

Після створення файла mirror-supfile все готово для запуску першого сеансу. Для запуску процесу CVSup використовується команда:

# cvsup -L 2 /ets/mirror-supfile

На екрані буде відображатися процес копіювання файлів. Перший сеанс буде достатньо довгим, адже копіюється великий об’єм інформації, однак всі наступні сеанси будуть швидкими та ефективними.

Не дивлячись на те, що створення дзеркального сервера є достатньо ефективним засобом забезпечення безпеки даних, слід пам’ятати, що такий спосіб не є повною заміною інкрементного резервного копіювання. Це рішення підходить для адміністраторів, яким не потрібний аудит системи, контроль версій або зовнішні архіви. При використанні корпоративного сервера це рішення не є найкращим і без резервного копіювання на зовнішні носії тут не обійтись.
6. Робота в мережах.

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

До перших відносились в основному UNIX-подібні системи для мейнфреймів, наприклад AIX, IRIX, Digital UNIX, BSDI, а також спеціалізовані системи типу Novell NetWare та VMS. Друга категорія включала в себе операційні системи для персональних користувацьких машин, такі як Windows та Mac OS.

Зараз картина докорінно змінилася. В наші дні надійність та мережеві функції персональних систем перевищують по можливостям більшість старих операційних систем класу мейнфреймів. Mac OS з архітектурою Free BSD, Windows XP / Windows7 є платформами фундаментальним принципом яких є робота в мережі.

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

Що стосується Free BSD, то ця система як і більшість UNIX-систем з самого початку спроектована як мережева платформа.

Ми не будемо розглядати в рамках цієї роботи принципи функціонування комп’ютерних мереж. Розглянемо конкретні дії по адмініструванню роботи в мережі під управлінням Free BSD.

Як відомо кожен комп’ютер має IP-адресу, призначену для однозначної ідентифікації його в мережі.

Ідентифіка́ція: (лат. identifico - ототожнювати) - ототожнення, прирівнювання, уподібнення, розпізнавання. Наприклад, ідентифікація мінералів (англ. mineral identification).
IP-адреса, адреса Ай-Пі (від англ. Internet Protocol address) - це ідентифікатор (унікальний числовий номер) мережевого рівня, який використовується для адресації комп'ютерів чи пристроїв у мережах, які побудовані з використанням протоколу TCP/IP (н-д Інтернет).
Хоча в загальному випадку IP-адреса – це скоріше логічний опис місця знаходження, достатнє для того, щоб маршрутизатори змогли визначити, де в мережі знаходиться передавальна та приймальна машина.

Визначити IP-адресу будь-якої з мережевих карт, а також інших мережевих інтерфейсів можна за допомогою утиліти ifconfig. Опція -a дозволяє вивести список всіх мережевих пристроїв в системі, а також їх доступність в даний момент часу.

Доступність (англ. Availability) - властивість інформаційного ресурсу, яка полягає в тому, що користувач та/або процес, який володіє відповідними повноваженнями, може використовувати цей ресурс відповідно до правил, встановлених політикою безпеки не очікуючи довше заданого (прийнятного) інтервалу часу.
Маршрутиза́тор, або ро́утер (англ. router) - електронний пристрій, що використовується для поєднання двох або більше мереж і керує процесом маршрутизації, тобто на підставі інформації про топологію мережі та певних правил приймає рішення про пересилання пакетів мережевого рівня (рівень 3 моделі OSI) між різними сегментами мережі.
Момент часу - точка на часовій осі. Про події, що відповідають одному моменту часу, говорять як про одночасні.
Для зміни IP-адреси, зв’язаної з мережевою карткою, необхідно виконати команду:

# ifconfig fxp1 64.41.131.103

де 64.41.131.103 – нова адреса, а fxp1 – інтерфейс, якому вона призначається. Таке визначення IP-адреси, без вказування мережевої маски, призводить до того, що значення маски та широкомовної адреси система призначить за замовчуванням, причому виконає це для мережі класу А (маска 255.0.0.

Озна́чення, ви́значення чи дефіні́ція (від лат. definitio) - роз'яснення чи витлумачення значення (сенсу) терміну чи поняття. Слід зауважити, що означення завжди стосується символів, оскільки тільки символи мають сенс що його покликане роз'яснити означення.
0 і broadcast 64.255.255.255).

Команда ifconfig дозволяє також вводити і мережеву маску. Це виконується за допомогою ключового слова netmask, причому значення маски можна вказувати в звичайній формі, в шістнадцятірковій нотації, або у вигляді символічного імені, визначеного у файлі /ets/networks, наприклад:

# ifconfig fxp1 64.41.131.103 netmask 255.255.255.0

# ifconfig fxp1 64.41.131.103 netmask 0xffffff00

# ifconfig fxp1 64.41.131.103 netmask your-netmask


Існує декілька спеціальних IP-адрес, які є дуже важливими. По-перше це адреса мережі, в якій один або декілька останніх байтів дорівнюють нулю, наприклад 64.41.131.0. Ця адреса належить до всієї мережі 64.41.131 і як правило, використовується при настроюванні маршрутизаторів. Ще більш важливою є адреса, у якої останній байт дорівнює 255. Це так звана широкомовна адреса. Наприклад адреса 64.41.131.255 відноситься до всіх комп’ютерів з мережі 64.41.131.

IP-адреса призначена комп’ютеру в мережі може бути в будь-який момент змінена на іншу. Що ж стосується самого нижнього рівня стека протоколів TCP/IP, то на ньому IP-адреса взагалі ніякої ролі не грає. На нижньому мереженому рівні мають значення тільки так звані фізичні адреси, відомі як MAC-адреси (Media Access Controler).

Фі́зика (від грец. φυσικός природний, φύσις природа) - природнича наука, яка досліджує загальні властивості матерії та явищ у ній, а також виявляє загальні закони, які керують цими явищами; це наука про закономірності Природи в широкому сенсі цього слова.
Кожен мережевий пристрій має унікальну MAC-адресу. В світі не існує двох однакових карт з однаковими фізичними адресами. Однак на практиці все дещо складніше.

Не існує механізму маршрутизації, який здатний працювати з MAC-адресами, але є механізм, що працює з IP-адресами. Для переводу однієї адреси в іншу використовується ARP (Address Resolution Protocol) – протокол перетворення адрес. Для цього програма, що обробляє пересилання звертається до спеціальної таблиці відповідності IP- та MAC-адрес, яка називається ARP-кеш.

Протокол ARP є прозорим для прикладних програм і стеку протоколів TCP/IP.

Механі́зм (грец. μηχανή mechané - машина) - система тіл, що призначена для перетворення руху одного або декількох тіл у потрібний рух інших тіл. Механізм складає основу більшості машин і застосовується в різноманітних технічних об'єктах.
Застосунок, застосовна програма, прикладна програма (англ. application, application software; пол. aplikacja; рос. приложение, прикладная программа) - користувацька комп'ютерна програма, що дає змогу вирішувати конкретні прикладні задачі користувача.
Однак існують ситуації, коли адміністратор мережі повинен вручну працювати з ARP-кешем. Вміст кеша можна перевірити за допомогою команди arpa :

# arp -a

w001.sjc-ca.dsl.cnc.net (64.41.131.1) at 0:0:c5:7c:7:f0 (ethernet)

w013.sjc-ca.dsl.cnc.net (64.41.131.13) at 0:30:65:a4:9a:5e (ethernet)

w063.sjc-ca.dsl.cnc.net (64.41.131.63) at ff:ff:ff:ff:ff:ff permanent (ethernet)


Записи в кеші зберігаються певний час, після чого кеш автоматично оновлюється. Але іноді доводиться виконувати очищення кеша вручну, наприклад, коли відбувається заміна або встановлення нової мережевої картки. Видаляти такі записи можна тотально для всього кеша, або вибірково:

# arp -d w001.sjc-ca.dsl.cnc.net - по імені запису

# arp -d 64.41.131.13 - по IP-адресі

# arp -d -a - для всього кеша


Однією з найголовніших навичок налаштування мережі є конфігурування маршрутизаторів. Для цього дуже важливо розуміти роботу маршрутизатора. Будь-який маршрутизатор працює з таблицею маршрутизації, яка являє собою набір правил, відповідно до яких пакети з визначеними IP-адресами перенаправляються на наступний маршрутизатор.

Дуже часто термін маршрутизатор замінюють його синонімом шлюз.

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

Границя - одне з основних понять функціонального аналізу (а також математичного аналізу, який є скінченновимірним випадком функціонального), яке означає, що деякий об'єкт, змінюючись, нескінченно наближається до певного сталого значення.
Тобто шлюз є своєрідним перехідним з’єднувачем між локальною та глобальною мережами і на своєму рівні дійсно є маршрутизатором.

Визначити шлюз в ifconfig неможливо, оскільки адреса шлюзу не прив’язана до конкретного мережевого інтерфейсу. Для налаштування шлюзу в UNIX-системах є команда route. Але перед тим як перейти до налаштувань необхідно переглянути поточні налаштування за допомогою команди netstat -rn:

# netstat -rn

Routing tables

Internet:

Destination Gateway Flags Refs Use Netif Expire

default 64.41.131.103 UGSc 1 1 fxp0

. . .
На перший погляд здається, що адреса шлюзу вже налаштована. Але в дійсності слід знати, що команда route не контролює коректність налаштувань і можливі два варіанти : або мережа з цими налаштуваннями працює правильно, або не працює зовсім (другий варіант найбільш імовірний).

Процес встановлення маршруту по замовчанню складається з двох обов’язкових кроків: видалення запису про існуючий маршрут і додавання запису про новий. Ці дії виконуються за допомогою двох ключових слів – delete та add:

# route delete default

delete net default

# route add default 64.2.43.1

add net default: gateway 64.2.43.1
Встановлення імені комп’ютера – hostname – завдання дуже просте. Воно вирішується за допомогою команди hostname з єдиним параметром – повним доменним іменем комп’ютера :

# hostname vov.somewhere.com


Та сама команда дозволяє визначити поточне ім’я комп’ютера, причому як у повній (з доменною частиною), так і в короткій (тільки ім’я хосту) формі:

# hostname

vov.somewhere.com

# hostname -s

vov
Таким чином ми ознайомились з набором інструментів, що дозволяють налаштувати на системі Free BSD IP-адресу, мережеву маску, ім’я хоста та маршрут по замовчанню.

Інструме́нт (лат. instrumentum - знаряддя) - технологічне оснащення (знаряддя або пристрій), які в процесі праці безпосередньо стикаються з предметом праці з метою зміни чи контролю його форми, стану, властивостей тощо.
На завершення розгляду налаштувань мережі не можна обійти стороною, ще одну корисну команду – ping, яка є програмною утилітою, призначеною для перегляду статистики обміну пакетами між хостами. В якості параметра команди можна вказати, як адресу відділеного комп’ютера, так і його ім’я:

# ping 64.41.131.103

# ping vov

Припинити виконання програми можна натисканням комбінації Ctrl C.


7. Аналіз продуктивності системи

Однією з фундаментальних відмінностей між системами на основі Windows та системами UNIX, є управління процесами. Системи Windows дозволяє керувати в дуже обмеженому сенсі лише визначеними процесами рівня додатків. Навіть таблицю процесів ми бачимо лише в екстремальних ситуаціях. При цьому, натиснувши комбінацію Ctrl Alt Del ми можемо отримати список запущених процесів, які при бажанні можна припинити. На цьому власно кажучи і закінчуються всі можливості Windows, адже із списку навіть не ясно, що робить кожен з процесів на даний час. Free BSD дозволяє отримати повну інформацію про кожен процес, а також дозволяє перезапустити процес, змінити його пріоритет, передати йому будь-який сигнал переривання і т.і. Саме головне - система дозволяє з’ясувати, який з процесів викликає проблеми. Таким чином сутність UNIX-систем полягає в тому, що адміністратор має можливість налаштувати все, що робить система та змінити її роботу в необхідну сторону.

Почнемо з моніторингу системи.

Моніторинг (англ. monitoring, нім. Monitoring n) - комплекс наукових, технічних, технологічних, організаційних та інших засобів, які забезпечують систематичний контроль (стеження) за станом та тенденціями розвитку природних, техногенних та суспільних процесів.
Найпростішою утилітою моніторингу є програма top. Її назва залишилася від старих часів, коли ця програма виводила список десяти основних процесів в порядку зменшення споживання ресурсів (top – верхівка).
Спожива́ч - фізична особа, яка купує, замовляє, використовує, або має намір придбати чи замовити продукцію для особистих потреб, безпосередньо не пов'язаних з підприємницькою діяльністю, або виконанням обов'язків найманого працівника.
На даний час ця програма відображає всі запущені процеси незалежно від їх стану. Після запуску утиліта відображає інформацію про стан системи, яка оновлюється щосекунди.
Під час моніторингу системи може виникати необхідність втручання в хід процесів.
За одну секунду:
Наприклад деякий процес забирає дуже багато ресурсів, або є некерованим. В цьому випадку адміністратор може скористатися можливістю перервати процес, який вийшов з під контролю, або змінити його пріоритет.

Перервати виконання процесу можна командою kill. Для цього під час виконання програми top необхідно натиснути клавішу k і програма виведе запрошення kill.

Запрóшення - коротке повідомлення про якусь подію і запрошення взяти в ній участь. Суто ділові (на конференцію, форум, з'їзд, нараду, презентацію, виставку тощо) пишуться на фірмових бланках, а до культурно-мистецьких заходів часто виготовляють спеціально художньо оформлені запрошення.
Цій команді необхідно ввести ідентифікатор процесу, який буде перервано. Оскільки адміністратор володіє правами root – процес буде перервано миттєво. Слід зазначити, що таким чином можна перервати тільки нескладні процеси. В загальному випадку для цього використовують утиліту kill, яка є окремою програмою і діє більш ефективно. Запуск утиліти відбувається з вказуванням ідентифікатора процесу:

# kill 12553

Утиліта kill дозволяє використовувати додаткові опції, що розширюють її використання. Найбільш важливі опції (сигнали) наведені в таблиці 5:

Таблиця 5 . Сигнали kill

Сигнал

Символічне ім’я і значення

1

HUP – від’єднання (переривання та перезапуск)

2

INT – переривання

3

QUIT – вихід

6

ABRT – аварійне завершення

9

KILL – сигнал завершення, який неможна ігнорувати

14

ALRM – тривога

15

TERM – коректне завершення процесу

Формат команди дозволяє вказувати номер сигналу або його символічне ім’я:

# kill -9 12553 (зупиняє будь-який процес незалежно від його стану)

# kill -HUP 12553 (перериває та перезапускає процес)

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

Існують також інші засоби впливу на процеси. Одним з них є зміна пріоритету процесу. Цю дію виконують за допомогою команди renice, яка змінює пріоритетність (рівень nice) будь-якого поточного процесу.

Пріоритетність процесу являє собою ціле число в діапазоні від -20 до 20.

Діапазо́н (від грец. δϊα πασον (χορδων) - через усі (струни).

Найвищим пріоритетом володіють процеси із значенням -20, найнижчим – із значенням 20. Тобто чим більше число – тим нижчий пріоритет.

Звичайні користувачі (не root) можуть тільки знижувати пріоритет, тобто збільшувати число nice. Для зміни пріоритету на значення 10 використовують наступний формат команди:

# renice -10 1442

Перед значенням пріоритету ставиться риска. Для того щоб вказати від’ємний пріоритет необхідно поставити риску і мінус:

# renice --10 1442

Встановити рівень пріоритету на етапі запуску процесу можна командою nice поставивши її перед ім’ям процесу, що запускається і вказавши рівень:

# nice 10 ps

Таким чином, процес ps запускається з рівнем пріоритетності 10.
Після того як ми навчилися керувати процесами в ручному режимі, розглянемо як можна запускати процеси автоматично, без втручання користувачів. Автоматизація завдань дозволяє виконувати такі задачі, як перевірка захисту, оновлення стану системи, очищення log-файлів та багато іншого. В деяких операційних системах планувальниками є окремі додатки, але перевагою UNIX-систем є те, що планувальник є «демоном», який здатен запустити будь-яку програму командного рядка відповідно до встановленого графіка.

Як і у багатьох системах UNIX, планувальник Free BSD має назву cron. Демон cron виконується постійноі перевіряє свої вхідні файли кожну хвилину. Цей процес не вимагає перезапуску, він автоматично щохвилини перечитує зміни, що відбуваються в системі.

Існує глобальний файл crontab (/ets/crontab) і каталог (/var/cron/tabs), в якому користувачі можуть створювати свої власні файли crontab. Маючи права root, неважко редагувати файл /ets/crontab, додаючи в нього будь-які значення. Однак цього краще уникати і залишити його незмінним, краще створити особистий файл користувача root в каталозі /var/cron/tabs.

Оскільки файл crontab розташовується в центральному каталозі /var/cron/tabs з правами доступу 0600, механізм захисту дозволяє користувачам створювати свої файли, ніяк не впливаючи на чужі. Цей механізм реалізує програма crontab:

# crontab -e

Якщо ви, як root бажаєте відредагувати файл crontab іншого користувача з іменем Vov, застосовується такий запис:

# crontab -e -u Vov

Файл crontab в своєму складі містить три рядки коментарів, які не обробляються, а потім слідує завдання з вказанням дати і часу виконання, наприклад:



  1. 3 1,15 * * cat vov/faq.txt | mail -s “FAQ Auto-Post mylist@testsystem.com

В цьому завданні передбачено пересилання текстового файлу на адресу списку розсилки. Воно запускається о 03:00 в перший і п’ятнадцятий день кожного місяця. Завдання містить п’ять полів, що визначають час виконання завдання, а потім саме завдання. Поля розділені пробілами.
Комента́р (від лат. commentārium - записки, тлумачення) - * Тлумачення певного тексту або книги.
Проміжок (прогалок, шпація) - типографський термін, що означає спеціальний клиноподібний набірний елемент для набірних автоматів, якими вирівнюють слова в рядку («регулюють рівень білого в тексті»).
Порядок полів і їх допустимі значення наведені в таблиці 6.

Таблиця 6. Поля дати і часу у файлі crontab



Поле

Допустиме значення

Minute (хвилини)

0-59

Hour (години)

0-23

Day of month (число місяця)

1-31

Month (місяць)

1-12

Day of week (день тижня)

0-7

Символ зірочка ( * ) вказує на всі можливі значення поля. Детальну інформацію про форматування команд запуску завдань можна отримати на сторінці довідки man(5) crontab.

Отже демон cron якнайкраще підходить для періодичного виконання завдань. Але іноді є необхідність запустити завдання один раз. Для цього в файл crontab додають запис crontab –u , який видаляє завдання після його виконання. Існує і більш зручний спосіб – програма at.

Фактично, at – це набір команд:



at – запуск завдань

atq – відображення черги завдань

atrm – видалення завдань з черги

В будь-якому випадку одразу за командою at вказується час виконання, а потім завдання. Час виконання має інтуїтивно зрозумілий вигляд:

at 10pm – запускається о10 годині вечора (22-00)

at 8:00am May 15 - запуск о 8-00 ранку 15 травня

at midnight Jan 2011 – запускається на першій секунді 2011 року
Для перегляду стану черги завдань використовують команду atq:

# atq


Date Owner Queue Job#

23:00:00 01/28/11 root c 2

Відмінити виконання завдання можна за допомогою команди atrm:

# atrm 2


За виконання команд at відповідає команда atrun, яка запускається кожні п’ять хвилин і читає чергу завдань всіх користувачів.

8. Стратегія та політика адміністрування


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

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

Існуючі підходи до політики адміністрування систем UNIX можна поділити на три основні напрямки:


  1. Забороняти все і всім, будь-яке питання адміністрування винувати особисто адміністратору, не дозволяючи ніяких виключень

  2. Дозволити всім розпоряджатися ресурсами системи, а у випадку виникнення проблем, посилатися на невміння персоналу користуватися системою і переконувати керівництво в тому, що за таку роботу платити треба набагато більше

  3. Встановлення розумних квот на використання системи, організація кола користувачі, які мають доступ до прав root, з метою розвантаження адміністратора від елементарних простих операцій і організація чіткого контролю системи

Мабуть ні в кого не викликає сумнівів, що третій підхів в цьому переліку є найбільш ефективним (але можливо не самим кращим з точки зору захищеності системи).
Керівн́ицтво - (адміністрування, розпорядництво) є однією з функцій управління, а в умовах командно-адміністративної системи саме тією функцією, що разом з контролем включила в себе всі інші функції.

Отже перш за все правила та методики адміністрування повинні бути належним чином оформлені документально та затверджені керівництвом. Краще всього це зробити до того, як виникне потреба у застосуванні цих документів. Бажано, щоб мінімальний перелік був таким:



  • правила адміністративного обслуговування

  • перелік прав та обов’язків користувачів

  • правила для адміністраторів та користувачів з особливими привілеями

  • правила створення “гостьових” облікових записів

Крім того дуже бажаною є систематизація практичного досвіду адміністрування системи у вигляді ведення журналу, а також розробка інстркцій для різних категорій користувачів.
Систематиза́ція - процес зведення розрізнених знань про предмети (явища) об'єктивної дійсності в єдину наукову систему, встановлення їхньої єдності. С. є відображенням матеріальної єдності світу і ґрунтується на вивченні суттєвих зв'язків, які об'єднують ці предмети (явища).
Обліковий запис (сленг. акаунт, обліковка або обліківка) у комп'ютерній системі - сукупність наданої інформації про користувача, засобів та прав користувача відносно багатокористувацької системи.
Слід розробити стандартні методики користування системою. Серед таких методик можуть бути такі:

  • підключення комп’ютера

  • підключення користувача

  • налаштування та конфігурування комп’ютера

  • встановлення бібліотеки ТСР-оболочок на комп’ютер

  • налаштування резервного копіювання для нового комп’ютера

  • захист нового комп’ютера

  • відновлення WEB-серверів

  • модернізація операційної системи

  • інсталяція програмного забезпечення по мережі

  • резервне копіювання та відновлення файлів

  • виконання аварійної зупинки системи

І додаткові правила та методики:



  • кому дозволяється мати обліковий запис

  • що необхідно робити при звільненні користувача (видалення користувача)

Додаткові питання слід регламентувати особливо ретельно, щоб уникнути відомої ситуації з чотирьох річною дитиною: “Мама не дозволила, піду спитаю у тата!”.
Звільнення - в трудовому праві припинення трудових відносин між працівником і роботодавцем.
Відповіді на питання “що робити, якщо?” складають політику кампанії, а відповіді на питання “як?” являють собою процедурну частину її реалізації.

У 1997 році був випущений міжнародний документ, що мав назву Site Security handbook ( Довідник по захисту системи ). В ньому містяться рекомендації системним адміністраторам з різних аспектів захисту. За рекомендаціями цього документа в правила використання систем необхідно включати такі розділи:



  • рекомендації по закупівлі обладнання та програмного забезпечення

  • політика секретності

  • політика доступу

  • політика облікових записів

  • політика аутертифікації

  • політика доступності

  • політика керування

Особливістю правил та методик, що розробляються є те, що в них існує поділ на дві групи – правила для адміністраторів та правила для користувачів.

Закупівлі (закупівля), (англ. purchasing, procurement) - це процес придбання товарів замовником: визначення потреби, пошук і вибір постачальника, підписання контракту, доставка товару. Закупівлі є складовою частиною процесу логістики.
Обла́днання (устаткування) (англ. equipment, нім. ausrüstung) f) - сукупність пристроїв, механізмів, приладів, інструментів або конструкцій, що використовуються в певній сфері діяльності, або з певною метою.
Тобто ці правила повинні чітко регламентувати границі їх застосування в обох групах.

І заключною частиною всіх методик і правил обов’язково повинні бути правила та методики для екстремальних ситуацій. Мова йде про те, що кожен користувач повинен чітко знати, як він повинен діяти у різних випадках. Цими документами повинні бути визначені ті, хто керує роботами у випадку виникнення непердбачених ситуацій. До таких ситуацій належать:


  • локальні аварії обладнання

  • порушення захисту

  • непердбачуване відключення живлення системи

  • пошкодження інформації

  • аварії природного походження

На кожну з цих ситуацій повинна бути розроблена методика та правила її подолання.

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





Загороднюк В.В “Адміністрування ОС UNIX”


1   2



  • Основні завдання системного адміністратора
  • Таблиця 1. Стандартні каталогі та їх вміст
  • Бібліотеки компілятора мови С
  • Файли заголовків С-програм
  • Каталог для тимчасового зберігання файлів
  • 1.1 Моніторинг використання файлової системи
  • 1.2 Монтування та демонтування файлових систем
  • Таблиця 2. Файлові системи, що підтримуються стандартним ядром
  • 1.3 Перевірка та відновлення файлових систем
  • 8. Стратегія та політика адміністрування