Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Збірник лабораторних робіт з Операційних систем...doc
Скачиваний:
18
Добавлен:
19.11.2019
Размер:
3.72 Mб
Скачать

Лабораторна робота №4

Тема: ”Управління службами ”

Мета роботи:

1. Отримання практичних навиків роботи з операційною системою Linux CentOS – ознайомлення з роботою в терміналі, вивчення основних дій при управлінні службами.

2. Ознайомлення з системою команд для управління різноманітними службами.

Матеріальне забезпечення занять

1. ЕОМ типу IBM PC.

2. Oпераційна система Linux CentOS.

Короткі теоретичні відомості:

Керування доступом до служб.

При звичайній роботі в системі Linux навряд чи виникне необхідність змінювати кількість або порядок запуску системних служб, якщо тільки не станеться якась катастрофа. Але щоб проводити пошук помилок, системний адміністратор повинен мати уявлення про те, як відбувається початкове завантаження Linux і як здійснюється управління службами. Коли стикаєшся з непрацюючими драйверами або аварійним закінченням роботи служби, додаткову інформацію про те, що відбувається в системі, можна отримати за допомогою команди dmesg | less (після початкового завантаження дає можливість читати повідомлення ядра про те, як пройшло початкове завантаження) або команди cat /var/log/messages | less (дозволяє переглядати системний журнал).

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

Існує кілька різних способів управління доступом до системних служб. Найпростіший спосіб заборонити доступ до служби – відключити її. Запускати і зупиняти служби, керовані xinetd, а також служби в ієрархії /etc/rc.d/init.d (також звані службами SysV) можна за допомогою трьох різних додатків:

• Засіб Налаштування служб (Services Configuration Tool) – графічний додаток, що відображає опис кожної служби, тип запуску при завантаження системи (для рівнів виконання 3, 4, і 5), і дозволяє запускати, зупиняти або перезапускати служби.

• ntsysv – текстовий додаток, що дозволяє визначити служби, що запускаються при завантаженні системи для кожного рівня виконання. За допомогою цієї програми не можуть бути запущені, зупинені або перезапущені не-xinetd служби.

• chkconfig – програма командного рядка, що дозволяє включати і відключати служби для різних рівнів виконання. За допомогою цієї утиліти не можуть бути запущені, зупинені або перезапущений не-xinetd служби.

Використовувати ці засоби простіше, ніж альтернативний спосіб – редагувати множину посилань, розташованих в каталогах: /etc/rc.d вручну або змінювати файли налаштувань xinetd в /etc/xinetd.d.

Інший спосіб управління доступом до системних служб – використовувати iptables для налаштування IP-брандмауера. Налаштування iptables може бути непростим завданням, її краще виконувати досвідченим системним адміністраторам Linux. З іншого боку, перевагою використання iptables є гнучкість. Наприклад, якщо потрібні особливі правила, що дозволяють доступ певних вузлів до певних служб, їх можна визначити в iptables.

Якщо ж потрібна утиліта для призначення простих правил доступу до комп'ютера є засіб Налаштування рівня безпеки (Security Level Configuration Tool) (system-config-securitylevel), за допомогою якого ви можна вибрати рівень безпеки для системи, так само, як і в діалозі Налаштування брандмауера (Firewall Configuration) під час установки системи.

Рівні виконання.

Для того щоб зуміти правильно налаштувати доступ до служб, потрібно познайомитись з таким поняттям як рівні виконання Linux. Рівень виконання – це стан або режим, який визначається службами, перерахованими в каталозі /etc /rc.d/rc<x>. D, де <x> - номер рівня виконання.

Існують такі рівні виконання:

0 - Зупинок

1 – Режим одного користувача

2 - Не використовується (визначається користувачем)

3 - Повний багатокористувацький режим

4 - Не використовується (визначається користувачем)

5 - Повний багатокористувацький режим (з графічним екраном входу в систему)

6 - Перезавантаження

Рівень виконання за замовчуванням може бути змінений у файлі /etc/inittab, який містить на початку рядок, подібну до наступного: id: 5: initdefault:

Щоб змінити рівень виконання негайно, виконайте команду telinit, додавши номер рівня виконання. Щоб використовувати цю команду, ви повинні бути користувачем root. Команда telinit не змінює файл /etc/inittab, вона змінює тільки поточний рівень виконання. Після перезавантаження система як і раніше буде завантажувати рівень виконання, зазначений у файлі /etc/inittab.

TCP-оболонки

Всі мережеві служби, керовані демоном xinetd дозволяють використовувати TCP-оболонки для управління доступом. Демон xinetd може використовувати файли /etc/hosts.allow та /etc/hosts.deny для налаштування доступу до системних служб. Файл hosts.allow (дозволити вузли) містить список правил, що дозволяють клієнтам підключатися до мережевих служб, керованим xinetd, а hosts.deny (заборонити вузли) містить правила, які забороняють доступ. Файл hosts.allow має перевагу перед файлом hosts.deny. Правила дозволу або заборони доступу можуть визначатися для окремої IP-адреси (або імені вузла) або для декількох клієнтів відразу.

xinetd

Для управління доступом до інтернет використовується демон xinetd, який є безпечною заміною для inetd. Демон xinetd економить системні ресурси, забезпечує управління доступом і протоколювання, а також може використовуватися для запуску серверів спеціального призначення. Демон xinetd можна використовувати для надання або заборони доступу тільки певним вузлам, для надання доступу до служби в певний час, для обмеження кількості вхідних підключень і / або навантаження, створюваної підключеннями і т.д.

xinetd працює постійно і прослуховує всі порти служб, якими він управляє. Коли приходить запит до однієї з керованих ним служб, xinetd запускає відповідний сервер цієї служби.

Файлом настройки демона xinetd є /etc/xinetd.conf, але цей файл містить тільки декілька значень за замовчуванням і вказівку включити каталог /etc/xinetd.d. Щоб включити або відключити службу xinetd, відредагуйте її файл конфігурації в каталозі /etc/xinetd.d. Якщо параметр disable має значення yes, це означає, що служба відключена. Якщо параметр disable має значення no, служба включена. Ви можете відредагувати будь-який файл конфігурації xinetd або включити/виключити демон, використовуючи засіб Налаштування служб (Services Configuration Tool), ntsysv або chkconfig. Список мережевих служб, керованих демоном xinetd можна побачити, переглянувши вміст каталогу /etc/ xinetd.d за допомогою команди ls /etc/xinetd.d.

Засіб «Налаштування служб»

Засіб Налаштування служб (Services Configuration Tool) – це графічний додаток, що дозволяє визначити, які служби SysV в каталозі /etc/rc.d/init.d запускаються при завантаженні системи (на рівнях виконання 3, 4 і 5) , і які служби xinetd включені. З його допомогою ви можете запускати, зупиняти і перезапускати служби SysV, а також перезапускати xinetd.

Засіб Налаштування служб показує поточний рівень виконання, а також рівень, який ви редагуєте. Щоб відредагувати інший рівень виконання, виберіть у спадному меню Змінити рівень (Edit Runlevel) рівень 3, 4 або 5.

Засіб Налаштування служб показує служби з каталогу /etc/rc.d/init.d, а також служби, керовані xinetd. Клацніть назву служби у списку, розташованому ліворуч, щоб переглянути короткий описане цієї служби, а також її стан. Якщо ця служба не є службою xinetd, вікно стану показує, чи працює служба в даний момент. Якщо служба працює під управлінням xinetd, у вікні стану виводиться повідомлення xinetd service (служба xinetd виконується).

Щоб запустити, зупинити або перезапустити службу негайно, виберіть службу зі списку і натисніть відповідну кнопку на панелі інструментів (або виберіть дію в спадному меню Дії (Actions)). Якщо служба працює під управлінням xinetd, кнопки дій вимкнені, тому що таку службу не можна запускати або зупиняти.

Якщо ви включаєте/відключаєте службу xinetd, встановлюючи або знімаючи прапорець поруч із назвою служби, ви повинні вибрати у випадаючому меню Файл (File) => Зберегти зміни (Save Changes), щоб перезапустити xinetd і негайно включити/відключити цю службу xinetd. Крім цього, xinetd запам'ятовує змінений стан. Ви можете включити/відключити кілька служб xinetd відразу і зберегти зміни в кінці.

Наприклад, припустимо, ви зазначили службу rsync, щоб вона запускалася на рівні виконання 3, а потім зберегли зміни. Служба rsync включається негайно. Після наступного запуску xinetd, rsync також буде включена.

Попередження: Коли ви зберігаєте зміни служб xinetd, демон xinetd перезапускається і зміни вступають в силу негайно. Коли ж ви зберігаєте зміни налаштувань інших служб, рівень виконання змінюється, але зміни не вступають в силу негайно.

Щоб дозволити не-xinetd службі запуск під час виконання вибраною даний момент рівень виконання, поставте в списку прапорець поруч із назвою служби. Налаштувавши рівень виконання, застосуйте зміни, вибравши в спадному меню Файл (File) => Зберегти зміни (Save Changes). При цьому налаштування рівня виконання змінюються, але рівень виконання не перезапускається, таким чином, ці зміни не вступають в силу відразу.

Наприклад, припустимо, що ви налаштовуєте рівень виконання 3. Якщо ви зміните стан служби httpd з включеного на вимкнений, а потім виконайте операцію Зберегти зміни (Save Changes), настройки рівня виконання 3 змінюються так, що httpd не запускається при завантаженні системи. Проте рівень 3 не ініціалізується заново, тому httpd працює як і раніше. На цьому етапі ви можете зробити наступні дії:

Зупинити службу httpd – Зупинити службу, вибравши її в списку, і натиснувши кнопку Зупинити обрану службу (Stop the selected service). На екрані з'являється повідомлення, яке говорить про те, що служба була успішно зупинена.

Ініціалізувати рівень виконання – Ініціалізувати рівень виконання, перейшовши в запрошення оболонки і набравши команду telinit 3 (де 3 – номер рівня виконання). Цей варіант рекомендується використовувати, якщо ви змінювали значення параметра Запускати при завантаженні (Start at Boot) для декількох служб відразу і хочете, щоб ці зміни вступили в силу.

Не робити взагалі нічого - Зупиняти службу httpd не обов'язково. Ви можете дочекатися перезапуску системи для зупинки служби. Рівень виконання буде ініціалізованим при наступному завантаженні системи і служба httpd не запуститься.

Щоб додати службу до рівня виконання, виберіть рівень виконання в спадному меню Змінити рівень (Edit Runlevel), а потім виберіть Дії (Actions) => Додати службу (Add Service). Щоб видалити службу з рівня виконання, виберіть рівень виконання в спадному меню Змінити рівень (Edit Runlevel), виберіть у списку ліворуч службу, яку хочете видалити, і виконайте Дії (Actions) => Видалити службу (Delete Service).

Програма ntsysv

Програма ntsysv надає простий інтерфейс для включення і відключення служб. Ви можете скористатися ntsysv для включення і виключення служб, керованих xinetd. Ви також можете використовувати ntsysv для налаштування рівнів виконання. За замовчуванням налаштовується тільки поточний рівень виконання. Щоб налаштувати інший рівень виконання, передайте один або кілька рівнів виконання з параметром - level. Наприклад, команда ntsysv - level 345 налаштовує рівні виконання 3, 4 і 5.

Інтерфейс ntsysv схожий на інтерфейс програми установки в текстовому режимі. За допомогою кнопок вгору і вниз ви можете пересуватися по списку. Пропуском можна відзначати / знімати позначку служби, а також натискати кнопки Ok і Відміна (Cancel). Переміщатися за списками і кнопкам Ok і Відміна (Cancel) можна, використовуючи клавішу [Tab]. Символ * означає, що служба включена. Клавіша [F1] викликає короткий опис вибраної служби.

Попередження: Служби, керовані xinetd, при налаштуванні в ntsysv змінюють свій стан негайно. Зміни інших служб не вступають в силу відразу. Ви повинні зупинити або запустити необхідні служби, виконавши команду service daemon stop. У попередньому прикладі замініть daemon ім'ям служби, яку ви хочете зупинити; наприклад, httpd. Замініть параметр stop на start або restart, щоб запустити або перезапустити службу.

Команда chkconfig

Також для запуску і зупинки служб можна використовувати команду chkconfig. Команда chkconfig --list виводить список системних служб і показує, запущені вони (on) або зупинені (off), на рівнях виконання 0-6. В кінці цього списку додано розділ, що включає служби, керовані xinetd.

При виконанні chkconfig --list для запиту служби, керованої xinetd, вона показує, чи включена служба xinetd (on) або відключений (off). Наприклад, команда chkconfig - list finger відображає таке:

finger on

Як видно, служба finger працює як служба xinetd. Якщо xinetd запущений, finger включена.

Якщо ви виконаєте chkconfig --list, щоб показує стан служби в /etc/rc.d, ви побачите установки служби для кожного рівня виконання. Наприклад, команда chkconfig --list httpd відображає таке: httpd 0: off 1: off 2: on 3: on 4: on 5: on 6: off

За допомогою утиліти chkconfig також можна налаштувати службу, щоб вона запускалася (або не запускалася) на заданому рівні виконання. Наприклад, щоб вимкнути nscd на рівнях виконання 3, 4 і 5, виконайте наступну команду: chkconfig - level 345 nscd off

Попередження: Служби, керовані xinetd, при налаштуванні за допомогою chkconfig змінюють свій стан негайно. Наприклад, якщо xinetd працює, служба finger відключена, і виконується команда chkconfig finger on, служба finger включається відразу, так що перезапускати xinetd вручну не потрібно. Зміни стану інших служб не вступають в силу відразу після використання chkconfig. Ви повинні зупинити або запустити необхідні служби, виконавши команду service daemon stop. У попередньому прикладі замініть daemon ім'ям служби, яку ви хочете зупинити; наприклад, httpd. Замініть параметр stop на start або restart, щоб запустити або перезапустити службу.

Завдання для попередньої підготовки.

1. Вивчити відповідний теоретичний матеріал.

2. Опрацювати контрольні запитання.

3. Підготовити звіт.

Хід роботи.

1. Увімкніть комп'ютер з інстальованою ОС Linux CentOS.

2. Ввійдіть в систему з правами суперкористувача root.

3. Запустіть Services Configuration Tool (рис.4.1.) з робочого столу, обравши у Головному меню (Main Menu) => Системні параметри (System) => Адміністрування (Administration) => Служби (Services) або введіть команду system-config-services в терміналі.

Рис.4.1. Графічний інтерфейс Services Configuration Tool в CentOS

4.Ознайомтеся з основними можливостями Services Configuration:

- зупинити запущений сервіс;

- запустити зупинений сервіс;

- змінити рівень виконання для сервісу;

- додати новий сервіс та запустити його;

5. Через термінал запустіть програму ntsysv (рис.4.2)

Рис.4.2. Інтерфейс програми ntsysv

6. Ознайомтеся з основними можливостями програми ntsysv:

- додати нову службу;

- скасувати існуючу службу;

- за допомогою клавіші [F1] викликає короткий опис вибраної служби;

- за допомогою команди ntsysv - level [№3] змінити рівень виконання служби;

7. В терміналі вести команду chkconfig (рис.4.3), та ознайомитись з її можливостями:

- вивести список системних служб командою chkconfig --list;

- переглянути установки служби для кожного рівня виконання командою chkconfig --list [demon4];

- змінити рівні виконання для служб командами:

chkconfig - level [№][№][№] [demon] off

chkconfig - level [№][№][№] [demon] on

    • додати нову службу до списку системних служб командою chkconfig --add [demon];

    • видалити службу зі списку системних служб командою chkconfig --del [demon];

    • відключити запуск служби при запуску комп’ютеру командою chkconfig [demon] off;

    • ввімкнути запуск служби при запуску комп’ютеру командою chkconfig [demon] on;

Рис.3. Використання команди chkconfig

4.8. В терміналі ознайомитись з запуском і зупинкою служб вручну використовуючи стартові скрипти:

/etc/init.d/[demon] start – запуск служби;

/etc/init.d/[demon] stop – зупинка служби;

/etc/init.d/[demon] restart – перезапуск служби;

/etc/init.d/[demon] status – отримання інформації про службу;

4.9. Використовуючи спеціальну команду service в терміналі ознайомитись з роботою зі службами вручну:

service [demon] start – запуск служби;

service [demon] stop – зупинка служби;

service [demon] restart – перезапуск служби;

service [demon] status – отримання інформації про службу;

Обробка результатів

1. За результатами роботи оформити звіт.

2. Привести короткий опис виконаних дій.

3. Проаналізувати отримані результати.

Звіт повинен містити:

  • Назва і мета лабораторної роботи.

  • Прилади та обладнання.

  • Завдання та результати роботи.

  • Відповіді на контрольні запитання.

  • Висновки

Контрольні запитання

  1. Розкрийте поняття служби (сервісу,demon) в Linux.

  2. Якщо використовується текстовий екран входу, на якому рівні виконання відбувається робота системи?

  3. Якщо використовується текстовий графічний екран, на якому рівні виконання відбувається робота системи?

  4. Яким чином можна змінити рівень виконання за замовчуванням? Коли зміни вступають в силу?.

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